Split the adam-commands module into adam-cli and adam-core

This commit bumps the version to 0.6.0.

The new dependency tree is linear -- 'adam-cli' depends on 'adam-core' depends
on 'adam-format'.

All CLI code is now found exclusively in the adam-cli module. There is no
longer any dependencies in adam-core for command-line parsing, etc.
The AdamMain class has been moved from adam.AdamMain to adam.cli.AdamMain.
The 'commands' package has been renamed to 'cli'.

The CompareAdam code has been split with the back-end code in adam-core and
the cli code in adam-cli.

Only the adam-cli module create a self-executing jar for use on the
commandline.

Aux files like the README and Jenkins tests have been updated.
disambiguate isMismatchBase(), other small cleanups
Factor out SnpTable, fix crash in SNP handling
Add tests for reference position and fix refpos position off-by-one-error
Merge pull request #40 from arahuja/referenceend

Fixing reference position from offset implementation
Print a log message on startup to more easily tell runs apart
Improve BQSR performance by reducing GC pressure
Rename 'offset' to 'readOffset' and 'position' to 'referencePosition'
Merge pull request #38 from jey/bqsr

Small bugfixes and cleanups to BQSR
Make MdTag immutable
Merge pull request #45 from jey/immutable-mdtag

Make MdTag immutable