[changed] handler keys to be optional

gimme some of that sweet, sweet DOM diffing

closes #97
Merge pull request #232 from mlusetti/master

fix typo in docs about dymanic segments params
Merge pull request #229 from rackt/no-keys

[changed] handler keys to be optional
[changed] `<Link/>`s to take params property

- old behavior is maintained, but logs a
  deprecation warning

- instead of passing in properties to fill in
  the dynamic segments, we just take it from the
  params object

closes #217
Merge pull request #231 from rackt/link-params

[changed] `<Link/>`s to take params property
remove version that doesn't exist yet
wordsmithing
[removed] location="disabled"
[changed] path matching algorithm

[added] Support for ? in paths
[changed] :param no longer matches .
[added] Support for arrays in query strings

Fixes #142
[added] <NotFoundRoute>

Fixes #140
[fixed] Using HashLocation without a preceeding /

Fixes #230
Added OnClick to reserved link property, fixes #238
Merge pull request #237 from rackt/add-slash

[fixed] Using HashLocation without a preceeding /
Merge pull request #239 from abergs/onclick-reserved-link-prop

[fixed] active links w/o onClick property

fixes #238
[added] <DefaultRoute name>
Add doc comment
[changed] paths to inherit parents

- paths that start with `/` are absolute like they
  used to be

- paths that don't start with `/` are now relative
  (meaning they inherit their parent path)

- assumed `path`s from `name`s are relative

closes #244
[changed] Default <Redirect from> to *

Fixes #242
Fix undefined variable
[fixed] Window scrolling

The router now remembers the last window scroll position at various
paths and automatically scrolls the window to match after transitions
complete unless preserveScrollPosition=true is used.

This commit also introduces a flux-style architecture to the high-level
transitionTo/replaceWith/goBack methods.

Fixes #189
Fixes #186