Add functional tests for admin navigation bar and menus

issue #2273
- Check that menu nav items exist
- Check that menu nav items are labeled correctly
- Check that menu nav items have correct URLs
Added populate last login time

closes #2515
- sets last_login when user is saved if user status changed to active
- added integration test in user Basic Operations
Fixed check for a theme's custom error.hbs:

Closes #2513
- Checks for property `error.hbs` on active theme
- Added unit test to ensure `error` view is rendered when activeTheme has
  a custom error template.
- Removed unused variable, `userErrorTemplatePath` from errorHandler
- Refactored errorHandler.`updateActiveTheme` to take one argument, the new active theme, and to then check if the active theme has an error.hbs
- Changed errorHandler unit test to use rewire for mocking config.
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
- Updated travis config to set node env
- Updated example config to be less travis-specific
- Route tests updated to use this new functionality
- Grunt test-routes simplified
Merge pull request #2500 from ErisDS/issue-2442

[WIP] Server start refactor, route tests use ghost app
Merge pull request #2450 from jaswilli/issue-2273

Add functional tests for admin navigation bar and menus
Merge pull request #2516 from novaugust/last_login

Added populate last login time per #2515
Ghost footer outputs minified jquery in production

Closes #2524

- Added minifying jquery in grunt prod task

- Add test coverage for altered jquery
Remove second PUT request on image save

closes #2557
- replaced model.save() with model.set()
Use SVG version of travis build status badge
Merge pull request #2517 from novaugust/theme_error

Fixed check for a theme's custom error.hbs
Merge pull request #2558 from sebgie/build-fix

Remove second PUT request on image save
Merge pull request #2545 from joeljfischer/minify-jquery

[WIP] Ghost footer outputs minified jquery
Build correct path on image upload when config has custom content path

closes #2563
- build path relative to imagesPath (which contains the custom content path)
  instead of appRoot
- added test for custom content path
- added logic to tests for Windows url building to handle cases where Windows
  functionality is being tested on a unix operating system
Merge pull request #2561 from t3chnoboy/master

Use SVG version of travis build status badge
Merge pull request #2552 from hschaeidt/master

in some cases the git protocol cannot be processed
Merge pull request #2566 from jaswilli/fix/issue-2563

Build correct path on image upload when config has custom content path
Refactor the API route tests to use supertest

close #2443
- Refactor API tests from `/core/test/functional/api` to
  `/core/test/functional/routes/api`, using supertest instead of request
- Remove `core/test/functional/api` folder
Removing test-api from Gruntfile.js

closes #2443
Merge pull request #2512 from surgesoft/issue-2443