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.