Server start refactor, route tests use ghost app

closes #2442, issue #2182

- Server start refactored - messaging is just messaging, deferred resolves the httpserver so that the connection can be closed
- Route tests updated to use this new functionality
- Grunt test-routes simplified