Scaffolding for e2e tests

 - A server that can create & dynamicaly mount a loopback application
   with a configurable set of models.

 - Server-side handler returning lb-services script (Angular SDK)
   generating for the loopback app configured by the test.

 - Karma + RequireJS + Angular configuration for running E2E tests
   from the browser.

 - Glue for setting up a loopback app remotely, loading the lb-services
   file into the test running in a browser and configuring
   Angular $injector that can resolve $resource models provided by
   the lb-services file.
Rework "given" helpers to use $q promises
Implement Angular services for LoopBack resources

Introduce a new service LoopBackResource that patches $save from
ngResource to call upsert (PUT) instead of create (POST).

Extend services.template to generate client methods for all shared
methods available on all models.
Capitalize the name of the Model $resource factory

Make sure the factory names start with a capital letter, regardless
of what's the casing of the first letter of the server model name.

I.e. the Angular resource is `User` even if the server model is
called `user`.
Implement lb-ng, the CLI tool
Implement lb-ng-doc, the CLI tool for docs
Add @ngdoc comments to the generated services code
Support authorization & accessToken

Add LoopBackAuth service that preserves the access token.

Add response interceptors to User.login and User.logout that set/clear
the token stored in LoopBackAuth.

Add a global $http request interceptor that adds Authorization header
having LoopBackAuth.accessToken as the value.
Speed up tests accessing User.password

Decrease User.settings.saltWorkFactor in order to speed up the tests.
Merge pull request #3 from strongloop/feature/initial-implementation

Initial implementation