Feature/experiemental

`+ [NSManagedObject MR_findFirstOrCreateByAttribute: withValue:inContext:]` returns first object with specified parameters or creates one if object does not exist

`- [NSManagedObjectContext MR_isDescendantOfContext:]` returns `YES` if otherContext is one of child contexts of the current context.

`- [NSManagedObjectContext MR_isAscendentOfContext:]` returns `YES` if otherContext is one of parent contexts of the current context.

Updated `- [NSManagedObject MR_inContext:]` to return object with temporary `objectId` if `otherContext` is descendant of the managed object context