First attempt at recreating controller observation state correctly on both load/commit and copy

Removed old copy code in ETController.

Added ETController.observations property.

Fixed nil notification name support  that can  be passed to -startObserveObject:forNotificationName:selector:.

Changed TestCommon API to allow testing copy in the same object graph correctly (in this case we cannot use -loadedObjectForUUID:).

Note: Few tests failures in -[TestControllerPersistency testObservations].