Allow NSManagedObject formatter to be changed

* changed defaultFormatter to formatter
* added a sharedFormatter getter
* exposed setFormatter as public
* added two tests to verify date formatting when
using setFormatter

Suggestion: Maybe is also a good idea to add some way of changing each date formatting while mapping.