Make monkey-patching of the language optional

In my application, we don't allow monkey-patching of the language. We've found that various libraries tend to monkey-patch in incompatible ways, and it's very hard to excise dependence on a particular monkey-patch once it's in the codebase.

I've made monkey-patching opt-in rather than opt-out, but can change that around if necessary.