cypriss/mutations — pull request #48 by anicholson (2013-12-12 00:38:21+00:00)
Title: Make accessing errors via [ ] operators act as expected

Given this mutation:

```ruby
class ManualErrors < Mutations::Command
required do
string :str1
end

def execute
add_error(:str1, :validation, 'This is always wrong')
end
end
```

If I forget to pass any input, and the validations fail:

```ruby
result = ManualErrors.run()

result.errors[:str1] #=> #
result.errors['str1'] #=> nil
```

But when the error is manually added, it's reversed:

```ruby
result = ManualErrors.run(:str1 => 'inputinput')

result.errors[:str1] #=> nil
result.errors['str1'] #=> #
```

This is very confusing. Subclassing `ErrorHash` from `HashWithIndifferentAccess` (instead of just from `Hash` should remove this confusion and make accessing errors more consistent.