Expose the React mounting and un-mounting mechanisms

Re: #116 

This is my initial commit, all within a `react_ujs_p.js` file so that we may discuss it further. I'll get to the tests tomorrow, though I expect the existing to pass. I do need to write a few new ones.

Currently I am using this modded version is a non-turbolinks SPA and it works fine.
Style nits. no inlines and use braces.

```
if ($) {
  return $(selector);
}

return document.querySelectorAll(selector);
```

But I also have concerns because this API will return a jquery object or a NodeList, which will have some overlapping functionality but not entirely. It didn't matter when it was internal usage but once the method is public it's a concern.