[added] Router.renderRoutesToString

This PR allows the path to be given to <Routes> as a prop.

```javascript
<Routes initialPath="/some/path"> ... </Routes>
```
This only works server side. This patch also stops the URLStore and RoutesStore being started as componentWillMount is called but componentWillUnmount isn't call on server side. This would lead to a memory leak and potential async issue when multiple pages are being rendered at once.

When rendering on server side you should always make a new instance of `<Routes>` so if multiple pages are being rendered they don't change the routes in another page.

```javascript
var App = React.createClass({
  render: function(){
    return <Routes initialPath={this.props.initialPath} location="history"> ... </Routes>
  }
});

//server side
React.renderComponentToString(<App initialPath="/some/path" />);

//client side
React.renderCompoent(<App />, domelement);
```
You should break `</script>` into two strings:

        var initialDataScript = '<script type="text/javascript">window.__ReactRouter_initialData=' + JSON.stringify(initialData) + ';</sc' + 'ript>';

Otherwise, when you inline the rendered node, this gets written to the page:

    ';
        html = React.renderComponentToString(newRoutes) + initialDataScript;
      } else {
        html = React.renderComponentToStaticMarkup(newRoutes)
      }

      RouteStore.unregisterAllRoutes();