Implements subcommands enumeration #270

Invoking cargo with new "--list" option now shows list of installed subcommands.

p.s.
The code is less functional-style than I'd like it to be. Please let me know if there are smarter ways to write them.