add support to array update
replace MTLModel with MTLModelProtocol on MTLJSONAdapter
add - (BOOL)validate:(NSError **)error; to MTLModelProtocol
add MTLBaseModel
use MTLBaseModel static function to implement MTLModelProtocol in MTLModel and MTLManagedObjectModel
add MTLJSONAdapter update spec
add update test
add MTLManagedObjectModel test
update project