Bs mapping validations

Add validations when creating a mapping or saving a document to ensure that mappings and fields on a document stay in sync.

There will need to be cleanup on Sieve before we can start using this version.
Way cleaner. Now devs will know where to expect the errors definitions to be.