Skip unrecognized arguments
Add WithDesc wrapper

The functor `WithDesc i f` adds a "description" of type `i` to a functor `f`.
Add `Opt` instance for identity
The coproduct of options is an option
Add composition of parsers
Split Basic module
Use ReadM instead of Validate
Add OptProperties to new options
Add multiple names to options
Initial integration of Alt
Convert WithSub into an option transformer
Refactor option builder classes