Testing directive

We still have a lot of specs to write...

This PR is singled out to document an efficient way on how to test our directives.

The `unusedTokenHighlighter`'s spec file contains comments on how to do this and should serve as a blueprint for the future.
as discussed previously, I would really love to see a running commentary in here about each of the init steps, relating it to the equivalent runtime action.  E.g. 
state.replaceState == navigating to a new chunk of tokens. 
state.postInit does XXX
a new rootScope is needed because YYY
definition of differences between isolateScope, parent and child scopes (or link to relevant angular docs)