handle mix cased records

if a record is mixed case then transforming the record didn't always
work correctly.  Records are now wrapped in a GroovyRowResult which
is a case insensitive Map.