Add query string support to m.route

m.route now parses query string in given path into m.route.param

	* Params gathered the old way (e.g. /test/:id) overwrite params from the query string
	* /?valid => m.route.param('valid') === true
	* /?blank= => in m.route.param('blank') === ''
	* Supports nested values: ?test[a][b]=1&test[a][b]=2 => m.route.param('a') == {b: "1", c: "2"}

The nested values where only added to behave similar to the encoding function querystring in mithril. Maybe this is not necessary? Code could be shorter.
m.route supports params as an object, and builds querystring from it

m.route('/path', {param: 1}) => navigates to '/path?param=1'

The API is a little bit problematic, as it is not possible to combine it with `shouldReplaceHistoryEntry`.
Merge branch 'route-query-string' of github.com:yolk/mithril.js into yolk-route-query-string

Conflicts:
	tests/mithril-tests.js
add support for route query string
fix querystring parsing of array syntax
Merge pull request #91 from pistolero/master

Added support for overriding xml namespace.
document querystring support in routes
fix current route on popstate
Removed trailing spaces
Simplified version of parseQueryString: no nested objets anymore
Merge pull request #94 from yolk/simple-querystring

Simplified version of parseQueryString: no nested objets anymore
Merge remote-tracking branch 'origin/master' into next
Merge pull request #93 from yolk/spaces

Removed trailing spaces
document new argument in m.route(path)
Merge remote-tracking branch 'origin/master' into next
ensure http errors reject promises
prevent null ref
don't use watch anymore
archive
Copy edit docs