Add support for fallback transitions.
This new API allows transitions to fallback to other transition types in certain contexts. For example, a full-screen fab transition might choose to fall back to a modal slide transition when being dismissed.
In order to check sameness we had to make Transition a class protocol. This doesn't affect any existing transition implementations because they are all classes in practice.
Reviewed By: randcode-generator
Tags: Material Motion
Differential Revision: http://codereview.cc/D3228