Prevent malformed git-lfs pointers from being pushed to a repository
### Description
When using git-lfs, files in the local repository are replaced with a pointer to the file in LFS.
```
version https://git-lfs.github.com/spec/v1
oid sha256:1ab1a2bb8502820a83881a5b66910b819121bafe336d76374637aa4ea7ba2616
size 14
```
If a user clones a repository using LFS without LFS installed, these pointers are not replaced with the true contents of the file (as expected). If a user then edits one of these files, they can push the malformed pointer back to the repository, and break LFS for other users.
### Proposal
All modifications to LFS pointers should be validated. If the pointer is malformed, or if the reference it points to is invalid, gitlab should reject the commit and display a warning to the user.
### Feature checklist
Make sure these are completed before closing the issue,
with a link to the relevant commit.
- [ ] [Feature assurance](https://about.gitlab.com/handbook/product/#feature-assurance)
- [ ] Documentation
- [ ] Added to [features.yml](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/features.yml)
issue