Moving most of RouteHandler component to a RouteHandler mixin

This allows users to use react-router in a different way, that allows some new functionality. I can add tests to show new functionality as well, just wanted to throw this up for comments.

Closes #558

New possible usage from a parent route handler:

```js
React.createClass({
  mixins: [require('react-router/mixins/RouteHandler')],

  render() {
    return (
      <div>
       {this.getRouteHandler()}
      </div>
    );
  }
});
```

This basically avoid having an extra CompositeClass in between your parent and child components. For me this allowed me to clone this.getHandler() and not have that clone change on a route transition. A little hard to explain, but I could see a multitude of uses for this. Another example would be the ability to check statics on your child routes within your parents, etc.
not sure what bugs might crop up, but its important that `__routeHandler__` be the name of the ref all the time, maybe it should be a ref at all. anyway, merging, will take a look later.