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.
that gives `Panic: reflect.Value.Slice: slice of unaddressable array (PC=0x4140E6)` here (Go 1.2.1)