Fix "smart" array output

```go
_, _ := cmd.FormatSmart([2]string{"foo", "bar"})
```
currently panics.

So support that feature as advertised and provide a unit test demonstrating the issue.
This would be simpler and more efficient as `slice := v.Slice(0, v.Len())`