Abstract Note Toggle Functionality 

This PR abstracts the note toggle functionality into two distinct, unit tested modules. The logic in these two modules specifically has been overhauled. 

I've edited to `npm watch` task to run when `src/**/*.js` have changed as well as `test/**/*.spec.js` as the previous behaviour was slightly annoying. 

Ive also moved all the utils that mutate a given tree into the actions folder rather than in utils because these modules 'act' on a given tree.

Finally I've refactored hasClass to use a native RegExp rather than the array operations which is more performant. 

Can't you do this in the other requires?