Support empty array for required params

This failing test shows that a required param should pass if Array but empty.

Consider the following:

```ruby
requires :foo, type: Array do
  requires :bar, type: String
end
```

Currently this will trigger the `presence` validation because `:foo` is nil with:

```json
{ "foo": []}
``` 

If we make a `PUT` request with an empty array this should be valid.