More option formatters

- key-value list takes "key1=value1,key2=value2" and parses them into a hash
- bool accepts true/false, t/f, yes/no, y/n, 1/0 and stores the value as a boolean
- formatters turned into objects each holding a validator and a description (used in help strings)