Add ngRoute to the server's dependency list.

In practice we override whatever it provides anyway, but declaring the
dependency ensures that it'll get evaluated before us and so our
overridden versions will win. We provide an empty ngRoute module so the
app doesn't need to provide it if it doesn't want to.
Don't try to digest when the app changes the location path.

Doing this means that we can't set the path during a digest cycle, which
is the most common place to want to do this.
Make notifyWhenNoOpenRequests check asynchronously.

This is important because a common pattern is to enqueue a request and
then add a callback, but the request actually starts asynchronously too,
and thus we'd otherwise end up checking if there are requests too soon.
Bootstrap Angular completely when we prepare a context.

Previously we just did the injector initialization, but fully bootstrapping
allows the caller to assume its template has been parsed, and doesn't
really do any harm if the template is empty.
Provide additional helper methods on routes.

This allows callers to easily resolve routes and also to wait until
the locals are completely resolved (including any nested promises) so that
a flat JSON response could be produced, to implement server-defined routes.
Remove the no-longer-required getInjector function.

We now produce the injector automatically when we spin up a context.
Allow callers to detect whether the location service is ready to use.
Proxy $log calls to the server's log methods.

This gives a way to log from the application.
Add a note about why we call the callback before endRequest.

This is just to make sure future maintainers don't accidentally break
this.
Require angularcontext 0.0.12.
Increment version number to 0.0.6 for release.
Implement more fakeangular to make the tests pass.
Make the linter pass.
Increment version number to 0.0.7 for release.