Wierd behavior with optional array

Hi. First of all, thanks for a great framework.

I think I have found a bug:

If I have an optional array of hashes and one of the hash values has a default, the resulting param is weird when not provided.

Example:

    params do
      optional :some_array, type: Array do
        optional :foo, default: "bar"
      end
    end

When not providing `:some_array`, I would expect `params[:some_array]` to be `nil`, but it is `{foo: "bar"}` (which is not even an array).

In this pull request I have med a spec that shows this.

Are my expectations right?