[fixed] sibling array route configs

now you can configure your routes like this:

```js
var extraRoutes = [<Route/>, <Route/>];
var routes = (
  <Routes>
    <Route/>
    {extraRoutes}
    <Route/>
  </Routes>
);
```

closes #193
[changed] Transition#cancelReason => abortReason

Also, transition.abort() now accepts a reason argument that indicates
the reason for the abort. I anticipate that we'll need to add a NotFound
reason soon.
[added] Router.renderRoutesToString

[fixed] Initial render to null causing second render
[fixed] Query not passed to willTransitionTo
[fixed] ActiveState mixin causing second render
[added] Docs

```js
Router.renderRoutesToString(routes, originalUrl).then(function (data) {
data.html; //string returned from React.renderComponentToString
}).catch(function (error){
//Redirect will set error.status and error.location
error.status; //302 for Redirect
error.location; //location to redirect to
});
```