Merge pull request #10 from igorsantos07/master

Fixing issues with arguments with optional values lonely in a command.
Checking in changes prior to tagging of version 1.2.5.
Add InvalidOptionException
use RequireValueException
Checking in changes prior to tagging of version 1.2.6.
Add valueType setter
Add getValueType method to getValueType
Checking in changes prior to tagging of version 1.2.7.
push long/short option spec into an array
public keyword
Checking in changes prior to tagging of version 1.2.8.
ValueType classes
ValueType Class Test
Add abstract parse method to basetype
use simpler class name for OptionSpec

- Rename OptionSpec to Option
Rename isTypeInteger to isTypeNumber
Add getTypeClass method to return type value class.
Add isType method for type checking
validate value type in setValue method
Add InvalidOptionValueException