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
I'm inclined to go with `script.groovy.sandbox.enabled` as it makes all settings live underneath the `script.groovy.sandbox` map, it also looks better when using indented yaml:

```yaml
script:
  groovy:
    sandbox:
      enabled: true
      class_whitelist: ...
      package_whitelist: ...
```