Pull out the jcommander opt impls from running the classes to make invocations easier.

Also added a CompareTables class that makes it easy to just hash and multiple tables at once.
Make a better error message
Add in an iterator that can be used to pushdown logic to the cluster instead of moving data by writing a m/r job