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 stricter propType check for `container`.
* Provide a default prop for `container` that passes the propType check
in all cases.
* TESTS!