PropTypes clean up

* Moved propTypes to utils and renamed to CustomPropTypes so its not
confused as a proxy of `React.PropTypes`.
* Update componentClass validator to match PropType signature, it now
returns an `Error` if invalid instead of a boolean.
* Added mountable validator.
* TESTS!
OverlayMixin container cleanup

* Loosen check on `container` prop so that if an object has a `getDOMNode`
method we use it, as per #160.
* Provide a default prop for `container` that passes the propType check
in all cases.
* TESTS!
Remove `utils.nextUpdate` and `instance.componentDidMount` overloading

Clean up the tests a little since it seems these hacks are no longer
necessary as React will render immediately when setState is called so
any asserts can be make directly after this without needing to be async.

@see https://github.com/facebook/react/pull/1293#issuecomment-50225018
Remove trailing commas from `Input`
Make `addonBefore` and `addonAfter` renderable proptypes

Closes #166
Merge pull request #167 from pieterv/input-proptypes

Make `addonBefore` and `addonAfter` renderable proptypes
Merge pull request #164 from pieterv/remove-test-nextupdate

Remove `utils.nextUpdate` method and `instance.componentDidMount` overloading
Merge pull request #161 from pieterv/overlaymixin-container

OverlayMixin container cleanup
Merge pull request #163 from pieterv/proptypes-cleanup

PropTypes clean up
Release v0.11.1