Modify the executor to access the loopback object via `app.loopback`.
Fall back to `require('loopback')` only when `app.loopback` is not set
(loopback versions before 1.9).
Split bootLoopBackApp into two steps:
- compile
- execute
Most of the changes are just shuffling the existing code around.
What has changed:
- `loopback.autoAttach()` is called after `models/*` are required.
The calls were made in the opposite order before this commit.