Scaffold ngapp via `yo angular` and `yo karma`

Customizations:
 - `appPath` is `ngapp` instead of `app` (bower.json)
 - `testPath` is `ngapp/test/spec` instead of `test/spec` (bower.json)
 - all tests are in `ngapp/test` instead of `test`
 - .jshintrc - drop `curly: true`, set `latedef` to `nofunc`.

Remove unused scaffolded files:
 - ngapp/404.html
 - ngapp/.htaccess
ngapp: use StrongLoop's favicon
Use Chrome in karma.conf, PhantomJS in Gruntfile

Modify the Karma configuration so that
 - karma.conf.js specifies Chrome browser, which makes it easier
   to run karma tests in browser from WebStorm.
 - Gruntfile.js overrides the browser to PhantomJS, so that
   `grunt test` does not depend on an external browser.
ngapp: add lbclient services/values.

 - `Todo` model
 - `sync()` function
 - `network` object
ngapp: implement controllers and views from html5
Refactor lbclient/configure into lbclient/build

Add Grunt and Gulp tasks to call the new build function.
ngapp: build `window.CONFIG` object, routes config

Add a Grunt task to load all `ngapp/config/*.json` files and
write a js file that will expose the configuration on `window.CONFIG`.

Move the definition of angular routes to ngapp/config/routes.json,
so that it can be shared with the web server.
ngapp: polish visual appearance

- set title in index.html
- remove navigation and Google Analytics from index.html
- copy the CSS styles from web app
- remove unused yeoman image
- copy the navigation from home.ejs
web: use ngapp instead of html5

Modify web app to mount ngapp instead of html5.

Drop all ejs views as they are no longer use.

Enable HTML5 rounting in ngapp, add a base URL to fix relative
asset links when the page is served from a non-root url.
Gruntfile: run web app instead of grunt-connect

Rework `grunt serve` to start the full app instead of calling
grunt-connect.

Modify `web` to use relative paths to other components, instead
of depending on NODE_PATH. The reason is that NODE_PATH cannot be
modified from inside the Node process and the grunt task is running
the web app inside the same process.

Conditionally add `connect-livereload` middleware to the web app
to support the `livereload` option of the `grunt watch` task.
Remove `html5` and `gulpfile.js`

They are superseded by `ngapp` and `Gruntfile.js`
Clean the project layout

 - move `web` to `server`

 - rename `app.{component}.js` to `app-{component}.js` in order
   to prevent clashes with the convention `app.{env}.js` used by
   loopback-boot.
server: code clean-up

Extract out `app.start` function, use it in Gruntfile.js to start
the server.

Group middleware related to ngapp into a single code block.

Add `urlNotFound` and `errorHandler` middleware as the last two
items.
Merge pull request #34 from strongloop/feature/scaffold-ngapp-using-yo

Feature/scaffold ngapp using `yo angular`