stashing changes
added more functional tests, removed some unused code, ported tests over to mocha
removed tests for tickets, ported more tests over to mocha
removed yet more unused code and ported more tests to mocha
removed more code, ported more tests to mocha
finished porting tests to mocha
removed redundant code, updated web tests
merging code from ticket_25 branch