feat($urlRouter): abstract $location handling

 - Wrap all handling of $location and UrlMatchers and abstract away from $state
 - Expose URL-syncing interfaces
 - Refactor and simplify URL generation
chore($urlRouter): whitespace & formatting
chore($urlRouter): add tests for location syncing
refactor($state): simplify include()
fix($state): sanity-check state lookups

 - Fixes #980
chore(readme): added sample link
Automatically rewritten for npm.