Replace optparse with argparse, add command line parser testing

There are no more references to optparse and I added some tests for the argparse parser which reads from the command line. I moved most of the snakebite cli functionality into snakebite/commandlineparser.py to allow parsing to be tested.