declared(params) breaks when params contains array

When given

    params do
      group :nested do
        requires :inner
      end
    end

and request parameters

    params = {nested: [ {inner: 1}, {inner: 3} ]}

trying to call `declared(params)` leads to an

    undefined method `key?' for [#<Hashie::Mash inner=1>, #<Hashie::Mash inner=3>]:Array

exception.

Since arrays generally work fine when using the `params` block, they should probably work with `declared` as well.

I believe I've already fixed this issue, I'll add a pull request shortly.