Wrap groovy script exceptions in a serializable Exception object

Fixes #6598

It prevents ES from trying to serialize the default Groovy exceptions, which want to carry over a lot of state that doesn't  serialize properly.
few more things:
- we should also wrap compilation failures
- are we sure all groovy code path wraps GroovyRuntimeException? might make sense to catch a more generic exception?