Ensure that Foundation.framework is imported before checking `NS_BLOCKS_AVAILABLE`

Fixes #786
Fix logging levels

Fixes #801
Use a try/catch block rather than method swizzling to handle undefined keys
modelClass is nicer than klass
Only call the completion handler once when a context has no changes

Fixes #818
Fix date formating