WIP refactoring such that transitions can be run lazily, or eagerly.
Moved code to resolve.js, changed ResolveContext constructor
add transition runner code
implement resolvePolicy in resolvePathElement and resolvePath()
Run transition async from $state.go()
fix($state): fix parent: declaration for use with non-dotted notation

Fix registration of a child state pointing to a non-dotted-notation parent state.  Removed the immediate computation of a state's FQDN (fully qualified dot-notation) in .register().
Adding empty test harness for $transition
fix($transition) get a single transition to run.

- add Path.reverse to reverse a path inline (like Array.reverse)
- add "State X is already defined" to StateQueueManager.register() and flush()
- hook up Transition.run() in $state.transitionTo
- copied state.to/state.from to toState/fromState.  meh
- fix bug in entering-states code
- init _fromPath in $transition.init()
- fix transitionSpec to not try to clobber the root state ('')