Add Ruby 2.1 testing and Ruby 2.1 support

The new ruby 2.1 `Array#to_h` was causing array fields to incorrectly have `to_h` called. The new `Array#to_h` only works on arrays of arrays. The error text in these cases is something like:

```
TypeError (wrong element type String at 0 (expected array))
```

… which is less than helpful.