Add support for entity names that are not the class name

This change allows a situation where the entity is called (for example) ```Book``` but the class name is ```LBRBook```. It uses the method ```+ (NSString *)entityName;``` that is defined by MOGenerator; the default implementation returns the class name.