Clarify that to be included in load condition, field must be an Element

Prior to this fix, Views were also being considered for load conditions
(under the assumption they were a "custom" element). This provided
problems when your View type was using a View as a field for some other
reason; the consumer does not mean to imply it should be present in the
context. Now custom elements will have to implement Element to get this
functionality, which makes more sense anyway. (And plus Element API is
super lean so not such a big deal).
Add Transition API and basic, default implementations

The idea here is that specific types of ViewContexts can implement their
own transition logic should there be something more complicated they
need to do, or reliable they can do. Not totally settled on this yet; it
needs to be demoed and iterated on.
Add transition() to abstractview for some syntactic sugar