Added Identifier trait.
Use new trait for IdVector traits.
Add Identifier type to INSArray trait.
Add Identifier type to INSDictionary trait.
Moved some Id functionality to the Identifer trait.
Added Owned and Shared array traits.
Added ShareId struct.
Added share method to Id.
Split out an object_impl macro.
Added an Identifier type param to NSArray.
Implement Clone for SharedId.
Added NSMutableArray trait.

Can't test it yet because I can't implement DerefMut for Id without
breaking everything...
Added WeakId.
Implemented Drop for WeakId.