Support escaping and quotes for shorthand params

Add support for::

```
    --foo key=one,value=one\,two\,three
    --foo key=one,value="one,two,three"
```

Note that for the escaping case, in bash you'll have to
literally type `--foo key=one,value=one\\,two\\,three`
because bash will also interpret the `\` char so you have to
escape the `\` so bash will leave it alone.

cc @garnaat @toastdriven

I'm sending this a pull request against my repo because it's branched off of the domain-model branch which isn't merge into develop yet.  Otherwise merging this into aws/aws-cli:develop generates a diff that includes the command table refactoring.