Merge pull request #12 from pauldijou/master

Add Bower support to manage dependencies
Refactor the build
- No more local dependency files
- Use browserify to output a UMD compatible module
- The abyssa internal modules have clearer dependencies (require calls at the top)
- Get rid or Bower, which is redundant when using NPM/browserify
- The default build file (abyssa.js) is now the one without embedded dependencies
Fix the main NPM file
Do no enable logs by default in tests - They make IE8 lag even more than normal and the tests relying on timings can give false negatives.
- Add two doc sections: installation and cookbook
- Alias router.transition.completed to router.changed
Signals' handlers now receive the newState as the first argument as it's far more useful than the oldState
Remove sync app example as maintaining two different sample apps is tedious
Use strict mode
Fix some timing-based tests which were sometimes failing on slow/loaded machines/IE.
- Normalize path/queries to fix some browser inconsistencies.
- Change the way router.state() detects whether the param is a state name or a path/query to support dots in urls.

Features first added in sompylasar's fork.
Fix anchor click interception relying on a global router property
Start adding some integration tests
Move the notFound state declaration to the configure() options.
Fix Router.init(): If a state is passed the router should navigate to it at init time, else the state is read from the URL.
Fix redirecting on the very first transition
Update README
- Fix: Following a state pop and in case of an async exit, the url was changed immediately. This is problematic when the async exit ends up getting rejected and the state and url are left out of sync.

- Add workaround for html5-history-api dispatching a popState event when calling pushState/replaceState in IE8.
fix: When a param owned by the child-most state changes, the whole state tree is exited and re-entered
Router.init() should take state params to be consistent with Router.state()
Better transition error handling: The original script/line of the error should no longer be lost.