Fix #10 Use getopts to process args

In preparation for #6. At the expense of losing long options, this
change allows you to group options and ignore order.