Refactored argument into separate class

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