A new way to query Core Data (KFObjectManager)

This removes dozens of category methods on managed object which are now
replaced by the new `KFObjectManager`. This manager is an immutable
object which can be used to create fetch requests and optionally
execute them.

The new approach also handles passing NSError's back instead of silently
handling failures.
Expose the background managed object context from KFDataStore
Categorize grouped methods in KFAttributed and KFObjectManager