add componentDidEnter/componentWillLeave hook on transitiongroup items

this pr add two hooks componentDidEnter/componentWillLeave on a component that is added to a transitiongroup
this is useful when you want to trigger some operation just after an enter or just before a leave animation

this is what it look like in practice 

```js
var ReactTransitionGroup = React.addons.TransitionGroup;

var TodoItem = React.createClass({
  render: function () {
   return this.transferPropsTo(<div>{this.props.item}</div>));
  },
  componentDidMount: function() {
    console.log('I just mounted', this.props.item, new Date);
  },
  componentDidEnter: function() {
    console.log('I did enter', this.props.item, new Date);
  }
  componentWillLeave: function() {
    console.log('I will leave', this.props.item, new Date);
  }
})

var TodoList = React.createClass({
  getInitialState: function() {
    return {items: ['hello', 'world', 'click', 'me']};
  },
  handleAdd: function() {
    var newItems =
      this.state.items.concat([prompt('Enter some text')]);
    this.setState({items: newItems});
  },
  handleRemove: function(i) {
    var newItems = this.state.items;
    newItems.splice(i, 1)
    this.setState({items: newItems});
  },
  render: function() {
    var items = this.state.items.map(function(item, i) {
      return <TodoItem item={item} key={i} onClick={this.handleRemove.bind(this, i)} />
    }.bind(this));
    return (
      <div>
        <div><button onClick={this.handleAdd}>Add</button></div>
        <ReactTransitionGroup transitionName="example">
          {items}
        </ReactTransitionGroup>
      </div>
    );
  }
});
```