Fixes #53 Better Command Line Opt Parsing & tidy usage message

Make a better opt parsing, so all options can be supplied in any order.