option name formatting implementation
updated optionset to use formatnames()
renamed IOption to IOptionSet
added MissingRequiredException
bug fixes and changed Option::parse() to Option::execute()