Allow newInstanceFor<fieldKey> to override default constructor

`newInstanceFor<fieldKey>` should be implemented if a default alloc init
is not the right approach.

This is mainly the case when using `NSManagedObjects` since they need to
be inserted into a `NSManagedObject`, but can also be useful to set
certain default values that you'd rather not have in your `init` method.