Add support in the SDK for composite commands.

Things to note:

1. The CLI doesn't support composite commands yet. I don't know of a good way of doing it.

2. If you construct the sub_commands using the parse method of the corresponding
classes, there would be extra 'can_notify' and 'label' keys inside them
which the API would ignore. Only the options given directly to the composite
commands are acted upon by the API.

cc - @mineshpateltc