Refactored argument into separate class

-> Added Argument and ArgumentTest
-> Option:
   - Removed methods hasDefaultValue, setDefaultValue and getDefaultValue
   - Added methods hasArgument, setArgument and argument
   - Removed properties default and hasDefault
   - Added property argument
-> OptionTest:
   - Removed testDefaultValue
   - Added testSetArgument, testSetArgumentWrongMode
-> OptionParser:
   - Modified method createOption to use the new API
-> OptionParserTest:
   - Modified testParseArray to use the new API
-> CommandLineParser:
   - Modified method addDefaultValues to use the new API
-> CommandLineParserTest:
   - Modified testParseOptionWithDefaultValue to use the new API