Allow empty arrays as defaults when the type is explicitly given.

I don't believe that the following should blow up.

```ruby
opt    :skip, "Skip a space-separated list of components.", type: :strings, default: []
```
We check to see if a type is explicitly given, and become happy.

Again, sorry about the lack of tests.