prevent $stateChangeStart Events. Updated Tests accordingly

This is the pull request for my issue narzerus/angular-permission#9 

I used the same check that ui-router is using in their [$stateProvider](https://github.com/angular-ui/ui-router/blob/master/src/state.js#L846)

Also I updated the tests to not spyOn $broadcast. It's not wise to spy on $broadcast when using ui-router. This is the approach that the ui-router team is using themselves in their tests.

The tests for the event prevention can be found at the bottom.

*This time I used the correct jshint settings ;)*

*Edit*: selected the correct lines in the ui-router $stateProvider