This enables end-to-end testing with Protractor, along with some
basic route and page load testing for the home and project pages.
PhantomJS is used to execute tests, and API requests are mocked
using `protractor-http-mock` (see `test/e2e/mocks/`).
A new gulp `e2e` task is also added to prepare and execute the
tests, along with a shortcut, `npm run protractor`. The default
`npm run test` is also amended to include E2E tests, with unit
tests moved to the new shortcut `npm run unit`.
Change-Id: Idb2eef2d851035c715e23553db56fc80deeab8e7