Removed requirement to have short name for every option.

Implementation for issue #14.

CommandLineOption can now be constructed with a null/empty/whitespace
short name, provided a long name is also specified. New tests added to
reflect this (in FluentCommandLineParserTests).

Setup<T>(string shortOption, string longOption) throws an
ArgumentOutOfRangeException for shortOption if neither is specified.

The example in FluentCommandLineParserTests is updated to include an
option which has only a long name and no specified short name, and also
with an option group to ensure that this functionality is not broken by
the changes.