Various fixes in activator, composition, router, observable and entrance transition.

-The activator now enforced the areSameItem check on canActivate item in
order to make it consistent with the activate check.
- Fixed a bug in composition related to changes in animation.
- Observable array re-writes now support es5 array  methods. Also fixed
a bug with slice and splice.
- Router now properly enforces the canDeactivate/deactivate portions of
the lifecycle when a routed to module is re-used.
- The entrance transition had a bug that prevented measuring of elements
in the attached callback. This was fixed. As a result, the animation
must now use absolute positioning for the animation. This may require
some css changes on containers in apps, particularly, they will need to
remove their padding to prevent a "bump" when the animation completes.
The starter kit and samples have been updated in this way.
- The entrance transition now uses CSS3 animations when present and
falls back to jQuery in other cases. A hybrid approach is used for
IE10/11 due to some random bugs in IE's animation system.