move client tests to a separate folder

so that karma could run client tests and we could use mocha for server tests
rename app.js to angularRoot.js to avoid confusion
refactor grunt config

now tests are configured in a single named lambda and so on
set up grunt for mocha tests

coverage untested
fix jshint for mocha

remove .jshintrc
use express to statically serve content

create dummy test to test mocha and coverage reporting
move node files to src folder

also add initial coverage for node stuff.
paths need to be fixed and lcovs need to be merged
add clean task
fix mocha lcov output paths with sed
fix all paths in lcov for coveralls

remove ./ prefix for files
merge lcovs and report to coveralls
add callback for saucelabs

got an error in Travis otherwise
revert to karma-coveralls

commit id and everything wasn't porperly pushed to coveralls
fix jshint warnings

jshint stuff is now duplicated, though
disable recursive search for lcov.info

this way it is ensured that the correct lcov.info will be grabbed
sleep in e2e test to avoid strange results

Yes, it's not ideal, but I have no idea how to make it work without the ignore snync with the clock.
There is an option to use $interval with 2nd parameter of 1 instead of $timeout, but that has to be looked into
fix jshint for config files
fix coverage reporting for code climate
Merge branch 'master' into add/persistence
update grunt-karma-coveralls version

the new version includes changes from my fork that are used to correctly handle a merged lcov.info and subfolders