Feature/travis jasmine

This pull request integrates jasmine unit testing with the [travis CI server](https://travis-ci.org/). Whenever commits are pushed to github, travis will automatically run all of the python tests and javascript tests. The javascript tests are automated via [phantomjs](http://phantomjs.org/), which is a headless webkit browser environment.

**Quickstart**

To run the full test suite locallly: `cd .travis && ./run_all_tests.py`. 

**Synopsis**

1. `run_all_tests.py`: executes all the tests that we want to run. It first runs the python unit tests and then the jasmine tests. It reports any failures to travis via the exit status code (0=success, 1=failure).

2. `prepare_tests.py`: searches for all jasmine spec files and then generates two files:
    - `generated_require_config.js`: contains the requirejs config with absolute file paths so that phantomjs knows where to locate modules.
    - `generated_spec_runner.js`: loads all the jasmine specs via require() and then executes the jasmine console reporter.

3. `jasmine.js` runs phantomjs and loads the `SpecRunner.html` page which in turn loads the generated javascript files. Phantomjs will capture the logged output and then exit with the appropriate status code to indicate whether or not the tests passed or failed.

4. See `.travis.yml` for the full travis configuration.

**Examples**
- [Successful travis build](https://travis-ci.org/Harvard-ATG/HarmonyLab/builds/31295869).
- [Failing travis build](https://travis-ci.org/Harvard-ATG/HarmonyLab/builds/31341060).