Ensure transformer can handle empty string arguments

I noticed that when passed an empty string, gitsh crashed:

```
gitsh master@ commit -m "Do something." -m "" -m "And something else."
gitsh: Error: undefined method `join' for "\"\""@29:Parslet::Slice
```

This is because for an empty string, `parts` in the transformer is just one `Parslet::Slice`, rather than an array. I have fixed this by ensuring `parts` is always an array before joining.