[changed] location of public modules

this puts all public modules in the root of the
package to:

- conveniently require them
- easily identify what is public v. private

for example:

```js
// instead of doing this
var Router = require('react-router');
var Link = Router.Link;

// or this
var Link = require('react-router/modules/Link');

// you can now do this
var Link = require('react-router/Link');
```

closes #154
[changed] handlers receive route name
[fixed] Navigation to root URL can fail

Navigation to root URL can fail when the URLStore is setup with
location strategy 'hash'. This happens because URLStore.push
verifies the current path. Unfortunately the used currentPath is
not valid for the location strategies *hash* and *history*.

This change changes URLStore.push so that it uses the location
strategy specific current path. This value is already provided
by URLStore.getCurrentPath.
[fixed] location="history" fallback
fixed getCurrentPath with disabledHistory
release v0.5.1
[added] Router.makeHref

promoting this to public API so others can use it
to build components like `<Link/>`

closes #168
[added] <Redirect/> component

closes #159
[added] Link to react-router-bootstrap related module in readme
[added] support for extra props in Links, fixes #170
updated Link docs to include the mention of aditional props