Switching to docopt as an argument parser

Now complete - @Dannyzen, WDYT?