New Home Page

Summary:
adds new global top nav bar
adds new global off canvas drawer

adds directives
* global filter
* post view tabs
* global filter meta data

adds global filter controller

adds nav partials
* currently we have double markup in top bar nav AND left off-canvas drawer, a reusable template helps with this, but Brandon and Seth are thinking about a better solution.

removes
* views sub nav
* workspace off canvas
* post list sidebar

adds translations to `en.json` when applicable

adds/adjusts routes

adjustments
* global styles
* form checkbox label
* leaflet map styles

Fixes T941

Test Plan: Upon app load you will see the new global header, new view tabs and new filter. On smaller screens the global header will respond accordingly with the addtion of an off-canvas drawer. Please test interactions and review layout on mobile devices, laptops & desktop for responsive views.

Reviewers: brandonrosage, shadowhand

Reviewed By: shadowhand

Subscribers: spaudanjo, sebm90, digitalafrican, srutto, dkobia, rjmackay

Maniphest Tasks: T941

Differential Revision: https://phabricator.ushahidi.com/D491
Convert Config entity to use "id" instead of "@group"

Summary:
* this syncs the config entity API with backend changes introduced by D472 (243a2ffbe75fc1e9bed3fcea319a855d1735c98f)
* change
  * the endpoint services
  * the mock data for map config

Test Plan: * check if config pages behave correctly

Reviewers: shadowhand

Reviewed By: shadowhand

Subscribers: rjmackay, seth, aMoniker

Maniphest Tasks: T849

Differential Revision: https://phabricator.ushahidi.com/D496
Add signin link again, add signout functionality again and fix e2e specs for authentication

Summary:
* background: the new collapsible user menu introduced with D491 (c06fdd988e10801a7c50d9ad55837b94dff55d24) broke the authentication user flow
  * the signin link was missing completely (at least it was not visible)
  * the signout link under the collapsible user menu had no effect
* replace the signin-signout-button directive with two new directives
  * signin-button
  * user-menu
  * make sure they are only showed when signed in / signed out
  * adapt/fix the authentication e2e specs

Test Plan:
* start server
  * e.g. 'gulp --node-server'
* check that
  * signin link is present when signed out
  * user menu is present when signed in
* run the specs
  * protractor test/protractor-conf.js

Reviewers: shadowhand

Reviewed By: shadowhand

Subscribers: aMoniker, seth, rjmackay

Differential Revision: https://phabricator.ushahidi.com/D495
Add karma for unit testing and TravisCI/SauceLabs

Summary:
* add karma
  * for testing units like controllers, services, directives, filters etc
  * add karma launchers for firefox and chrome
  * add karma-commonjs for using 'require' without browserify
  * add two npm scripts for running karma specs with Chrome or FireFox
  * add simple-test-app-config.js for configuring reduced app modules for testing
    * for setting constants like BACKEND_URL
  * add karma-coverage
    * prints out test coverage stats and saves them in lcov format under 'test/coverage' (gitignored)
  * add a few gulp tasks:
    * single test run
    * single test run with Firefox for TravisCI
    * tdd (test driven development)
      * run once and rerun on file changes (app and test source files)
      * you can/should keep this task always running during development to make sure that all tests are green
    * send-stats-to-coveralls
      * sends the coverage stats at test/coverge to the coveralls.io account
      * uses 'gulp-coveralls'
  * two first unit specs for
    * posts-list-view controller
    * post endpoint service

* add .travis.yml
  * configure for running karma specs
  * configure for running protract e2e specs on SauceLabs
    * you need to register for a SauceLabs account and set your SauceLabs credentials as environment variables in the TravisCI project settings
    * starts a node server in background

* enhance node based mock backend server
  * enable CORS for POST method as well (for signin)
  * add body-parser to get access to the payload of POST requests (for signin)

* update README.md
  * section about unit specs / 'gulp tdd'
  * add badges
    * for the following services
      * TravisCI build status
      * dependency status of package.json
        * via http://david-dm.org
      * testing coverage
        * via http://coveralls.io
      * static code metrics
        * http://www.codacy.com
    * they are mapped to the master branch of github.com/ushahidi/platform-client

Test Plan:
* run 'npm install'
* try out the new gulp tasks
  * especially 'gulp tdd' for running all unit specs with karma and watching for filechanges
* configure TravisCI and SauceLabs and check if Travis build passes
  * you need to register for a both
  * set your SauceLabs credentials as environment variables in the TravisCI project settings
    * see: http://docs.travis-ci.com/user/sauce-connect/

Reviewers: shadowhand

Subscribers: aMoniker, seth, rjmackay

Maniphest Tasks: T925, T924

Differential Revision: https://phabricator.ushahidi.com/D479
ping Travis
update Coveralls badge
update Travis badge