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