Make the project structure more generic

Refactor project structure to make the boiler plate code more generic. When done, most of the scaffolding code should be moved to loopback-boot and/or loopback-workspace templates.

Task for the next iteration (another pull request):

 - Move setup of bi-direction replication to loopback core, come up with way how to enable it via models.json. Same for attaching `Todo.getChangeModel()` to the app.
 - Decide whether `app.api.js` should load the configuration from `app.json` or keep using the current approach (see TODO in app.api.js).
 - Find out how to specify `"default": Date.now` via `models.json`

/to @ritch please review