rename commandlineoption annotation to option annotation; to be used for more general purposes than just passing commandline options in the future
Add support for option annotation on fields

- support annotating fields
- defaults to field name when options not set
- move option related methods into seperate package
- cache static information about parsed classes in OptionReader
- TODO move assertion on valid method type into MethodOptionElement
- TODO add assertion on valid option field type into FieldOptionElement
- TODO throw decent exception when option.description not set. currently it's optional
- TODO throw decent exception when option.options not set when annotated on methods
- MAYBE: calculate option name on methods (e.g. setName -> option name name)
Make @option.description mandatory

- introduce OptionValidationException and use that instead of CommandLineException in OptionReader
- throw decent error message when description not set
- move OptionReaderTest to correct package
split 'validate options' story from 'help task shows available values' story