Add arbitrary metadata capture to `BaseField`.
Add arbitrary metadata capture to `BaseField`.

Includes ability to detect and report conflicts.

ProgressivePlanning/mongoengine,ConsumerPhysics/mongoengine,RussellLuo/mongoengine,larsbutler/mongoengine,MRigal/mongoengine,MongoEngine/mongoengine,sourcelair/mongoengine,DavidBord/mongoengine,cogniteev/mongoengine,MakerReduxCorp/mongoengine,Davidrjx/mongoengine,Davidrjx/mongoengine,MakerReduxCorp/mongoengine,touilleMan/mongoengine,cogniteev/mongoengine