Allow app to be runnable within a supervisor

app.js is designed to be the package.main, so app can be required. If
its run as the main module (`node app.js`), then it also starts up.
Those features are desired, but the conditionality of startup in app.js
means it is difficult to start the app when run under a supervisor such
as strongloop/strong-supervisor or unitech/pm2. To fix:

- Create a single line server.js which unconditionally starts
- Add a .bin property to package.json so the app can be globally
  installed.
- Exports the startup code as a function(`require('app.js').main` when
  app is being used as a module (so behaviour of `node server.js` is
  identical to `node app.js`).
Merge pull request #33 from strongloop/feature/app-runnable-with-cluster

Allow app to be runnable with cluster
Mount REST API at app.get('restApiRoot')
Remove loopback-explorer's basePath option

Do not pass app.get('restApiRoot') as a basePath to loopback-explorer,
since the plugin is already using it as a default.
Bump up deps versions

loopback 1.5.0
loopback-explorer 1.1.0
Merge pull request #36 from strongloop/feature/use-restApiRoot

Mount REST at app.restApiRoot + remove explorer basePath
app.start() calls app.listen()

Use the new `app.listen()` method from the loopback core to start
the server.
Refactor explorer integration, add "started" event

Modify `app.start` to emit "started" event.

Move all code related to the setup of loopback-explorer at one place,
use the new event "started" to report the URL of the explorer.
Merge pull request #37 from strongloop/feature/app-listen

Use `app.listen`, add "started" event, simplify explorer integration
Merge pull request #41 from strongloop/feature/bump-up-dependency-versions

Bump up deps versions
initial push models template updates
Customize the endpoint for push
Add loopback-push-notification as dep
Add integration tests for push REST apis
Add data source test
Add base model
Bump versions
Update dep to push
Merge pull request #40 from strongloop/feature/push-models

Enable loopback-workspace mobile template with push notification
Merge branch 'release/2.2.0' into production