Add Groovy as a scripting language, change default from mvel -> groovy

Sandboxes the groovy scripting language with multiple configurable
whitelists:

`script.groovy.sandbox.receiver_whitelist`: comma-separated list of string
classes for objects that may have methods invoked.
`script.groovy.sandbox.package_whitelist`: comma-separated list of
packages under which new objects may be constructed.
`script.groovy.sandbox.class_whitelist` comma-separated list of classes
that are allowed to be constructed.

As well as a method blacklist:

`script.groovy.sandbox.method_blacklist`: comma-separated list of
methods that are never allowed to be invoked, regardless of target
object.

The sandbox can be entirely disabled by setting:

`script.groovy.sandbox_enabled: false`

Also fixes all tests to run with Groovy instead of mvel
Perhaps it should just be `script.groovy.sandbox`? It would then serve as the root property of all the child properties of it in a readable way:

    script.groovy.sandbox = true
    script.groovy.sandbox.class_whitelist = ...
    script.groovy.sandbox.package_whitelist = ...

Versus:

    script.groovy.sandboxed = true
    script.groovy.sandbox.class_whitelist = ...
    script.groovy.sandbox.package_whitelist = ...