Future proof cloneWithProps a little. Remove unused internal utils

Adds a version check to cwp so that it only wraps `child.type` in a mock
factory for version 0.12. The only reason it is needed is that while `createElement` is still only warning, the public `createElement` is a wrapped version of the internal one that does some legacy checks. This will break in 0.13, where `react.createElement === require("react/lib/ReactElement").createElement` will be `true`

The removal of the other files is because this no longer needs the internal `ReactElement` which needed Context and Owner. Since we are no longer using the internal ReactElement, these files can be removed safely (not used anywhere else)