READY: ploy list enhancement

To make diffing variants easier, `Ploy::Command::List#run` returns a JSON hash in addition to printing to terminal. A JSON hash is returned regardless of the `-j` option flag, but the hash will be empty if `-j` is not set.

Wrote some tests around it too, since we didn't have a `command_list_spec` file.
@khadrin that's actually ruby 1.9+ syntax. You can now write
```
foo = { :thing => 'thing' }
```
as
```
foo = { thing: 'thing' }
```