Allow empty array default 2

Currently, it is simply forbidding to have an empty array as a default.  This is because trollop attempts to first derive the default, and then to compare that to the given type, and it is not possible to know the type of an empty array.

If the type is in fact given, however, there is no problem, so long as the type is a MULT_ARGS_TYPE.

(This is how I prefer my pull requests to look)
Can you push the `types` check up a level?
e.g.:
```ruby
if opts[:type]
  raise ArgumentError, "multiple argument type must be plural" unless MULTI_ARG_TYPES.include?(opts[:type])
  nil
elsif opts[:default].empty?
```

Think that would be +4/-1, not indenting extra code, and probably get the same results.