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.
Yeah they're equivalent. I think it looks better, but I agree that this was unnecessary. I wrote this PR at like 1 in the morning, so there was probably no logic behind it. I can change it back if that's what you want @khadrin.