Added support for trailing slashes in routes

m.route now matches a path with a trailing slash against a route without one.
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 pull request #88 from yolk/route-trailing-slash

Added support for trailing slashes in routes
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