use optionator for option parsing

- added src/options.coffee file which specifies options
- mutually exclusive option logic now simply an optionator setting
- most option dependencies are now simply optionator settings
- help text is now generated automatically based on the specified options
- there are now errors and suggestions for mistyped options
- the help text resizes based on the width of the console