Feature/tests setup

- Changing source files will trigger build and tests
- Changing test files will trigger tests
- Changing grunt config will trigger watch reload
- Having to use "npm test" instead of direct grunt running of tests due to ES6 issues.