fix bug with validation when parameters contain arrays

So that `params({ :foo => :bar })` returns `:bar` and `params([{ :foo => :baz }, { :foo => :bat }])` returns `[:baz, :bat]` (for a `ParamsScope` with `@element` equal to `:foo`).