Use the configured error handler for unknown urls

Reordered middleware setup in app.js and added urlNotFound handler. Started integration tests that boot the application and issue mock requests using supertest.

/to: @ritch
/cc: @Schoonology @raymondfeng 

Few notes:
- This is a major change of the order in which middleware is registered.
- It requires strongloop/loopback#70
- The change has merge conflicts with #16. The test for the bugfix in that PR is skipped for now.