wrote functioning super duper lazy Resolvable system

This system contains four main classes:

- Resolvable:
    The basic building block for the new resolve system.
    Resolvables encapsulate a state's resolve's resolveFn, the
    resolveFn's declared dependencies, and the wrapped (.promise)
    and unwrapped-when-complete (.data) result of the resolveFn.

- PathElement:
    An element in a state path which represents a state and that state's
    Resolvables and their resolve statuses.

- Path:
    Holds an ordered list of PathElements, is used to transfer resolve
    status by creating derivative Paths passed into ResolveContexts.

- ResolveContext:
    Manages a set of Resolvables that are available at each
    level of the Path.  Provides access to those Resolvables for a given
    state