Split out an object_impl macro.
Added an Ownership type param to NSArray.

Restricted NSCopying to the Shared array.
This fixes #3.