Added OptionSet.

OptionSet allows a set of options to be used by many commands.

Added some acceptance tests that simulate the parameters of git clone
and git add.