Core data model

Hi,
I developed a `Core Data` integration for `Mantle`, for do that I renamed the `MTLModel` protocol in `MTLBaseModelProtocol` and I moved this in a dedicated file. The `MTLModel` and the new `MTLManagedObjectModel` implements the `MTLBaseModelProtocol`.

The `NSManagedObject` cannot initialize normally, so I added the update method for models and `MTLJSONAdapter`.

I migrated all `MTLModel` code in a static class named `MTLBaseModel`, every methods of `MTLBaseModelProtocol` have a relative static method in `MTLBaseModel`.

I understand that I broke the usual vision of the code but in my opinion this is the best way for do it. 

Regards