Better KVC support for `update:`

If we use setPrimitiveValue:forKey:, and wrap the block that assigns
everything with calls to willChangeValueForKey: and
didChangeValueForKey:, we can ensure that observers are acting on the
full dataset at once.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Improve NSManagedObject+Mappings HeaderDoc

More description. More param. More return.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Document +[NSManagedObjectContext defaultContext]

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Remove unused import

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Use subscripting whenever possible

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Support setting objects directly in to-many relationships

By making this method more recursive, and checking if the value is
already the correct class, we can be sure that doing the following won't
break:

  Person *employee = [Person create];
  Person *manager = [Person create:@{
    @"employees": @[employee]
  }];

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Write conditionals with returns consistently

Removes "else [if]" and trailing "else" when returning early from a
method.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Bump Example's Podfile.lock for latest version of CocoaPods

We may want to consider removing the lock file from source control
entirely (as Ruby libraries generally don't check in the Gemfile.lock).
It adds unnecessary noise for a sample project that runs tests.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Add LICENSE to individual files

Also add LICENSE information to the README (and update the LICENSE
file).

Should make things friendlier to those who care.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>