RhinoHelper: rewrite to work around conflicts with earlier Rhino versions

Original bug:

https://github.com/fge/json-schema-validator/issues/39

YUI compressor uses a different version of Rhino than json-schema-validator, and
this is causing a conflict with this particular line in Rhino's static
initializer:

    ctx.seal(null);

Sample pom.xml:

----
       <dependency>
            <groupId>com.github.fge</groupId>
            <artifactId>json-schema-validator</artifactId>
            <version>1.6.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mozilla</groupId>
                    <artifactId>rhino</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>rhino</groupId>
            <artifactId>js</artifactId>
            <version>1.6R7</version>
        </dependency>
----

This problem is reproducible with 1.99.x by depending on -core 0.99.1 and
altering the Rhino dependencies in the same manner.

Rewrite the code. To ensure that it is thread safe, also add thread safety tests
with a variety of regex inputs. All tests pass, with dependencies alteration and
without.