Add logic scaffolding for level

* checkStatus, decrementColumn, endLevel, and parseKeycode
* initialized with columns and isFinished boolean
Add randomization to initial column values for level object
level.js hotfixes
    * add level.js to index.html
    * fix range of getRandomInt to prevent empty columns
    * fix reference to getRandomInt within Game object
Added chai and mocha to package.json
* Changed tabs to 4 spaces
Added first failing mocha test for level model
* implemented checkStatus method in Level
pass checkStatus test && add mocha deps
    * in order to test client side code, we need a runner.html file
        * this file loads up all of mochas deps, similar to how
        jasmine had a specRunner file
    * beforeEach currently giving us a timed out error. wtf?
Update mocha config to get beforeEach working
* Add unhappy path for checkStatus()
* mocha.checkLeaks() stops declared globals
update Procfile to use correct point of entrance
Add Grunt for mocha testing
* Allows us to run tests from terminal
Change grunt-mocha reporter to spec
Refactor checkStatus()
* Extract summation of columns into _columnSum()
* Add test for _columnSum()
Hide array data structure from tests
* Add function to seprate column index from value
ColumnSum no longer depends on array structure
Abstract array structure from column position
* Create new method columnIndex
DecrementColumn passes tests
* Uses columnIndex to access and decrease column values
update test runner file to check for phantomJS
- this was breaking our tests in terminal, but not for the browser
Remove columnIndex
* decrementColumn now knows about columns' data structure
Level can check if player has lost the level
* Checks whether column value is negative
Level knows how to set its state to finished
Merge pull request #15 from salarkhan/level

Add level model to app