Commands Refactor Part 2

We split #196 in two parts. this is the second. (#262 is the first). This builds on all the changes to commands/.
add: 
```
// if do not have the requested encoding, default to JSON or Text,
// depending on what the command itself specifies.
```