Adding ListGroup component

Took a stab at #159 (Implement ListGroup).

~~This solution uses the convenience CSS classes from Bootstrap; so instead of creating `ul` and `li` it wraps everything in a `div` and pushes the `list-group-item` CSS class into all children.~~  
  
~~Also adds support for the props `active`, `disabled` and `bsStyle` to the children, works with ReactBootstrap components as well.~~
~~Is this a good solution?~~  

~~Also matches `activeKey` and `disabledKey` (on parent) against `key` prop on child for another way of adding `active` and `disabled` CSS classes.~~  

~~This does not support the `list-group-item-heading` and `list-group-item-text` CSS classes in a good way, maybe a `ListItem` component could be added later to fix this?~~  

Documentation will be added to this PR depending on feedback (aka; too lazy to create them now if solution is rejected).
I think returning an object is a little nicer, that way you dont have to set the keys on the element. Also not a big fan of pushing items onto an array and returning it, i find something like below a bit more readable.

```
renderHeading: function () {
  var header;
  if (React.isValidComponent(this.props.header)) {
    header = cloneWithProps(this.props.header, {
      className: 'list-group-item-heading'
    });
  } else {
    header = (
      <h4 className="list-group-item-heading">
        {this.props.header}
      </h4>
    );
  }

  var content = (
    <p className="list-group-item-text">
      {this.props.children}
    </p>
  );

  return {
    header: header,
    content: content
  };
}
```

I really like the `{this.props.header ? this.renderHeading() : this.props.children}`, although i wonder if that `renderHeading` function needs to be renamed now as its doing a little more than that now, `renderStructuredContent` or something like that maybe?