option formatters moved to another module
hash options

Allows creating new type of options :hash
The options are then passed as --option[key1][key2]=value
fixes
key-value list option validator
missing options require fix
formatters - boolean
option formatters turned into objects