Add support for fallback transitions.

Authored by featherless on May 16 2017, 11:32 AM.

Description

Add support for fallback transitions.

Summary:
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.

Reviewers: O2 Material Motion, O4 Material Apple platform reviewers, Material Motion, randcode-generator

Reviewed By: randcode-generator

Tags: Material Motion

Differential Revision: http://codereview.cc/D3228