improve build for refactoring

since bintray cannot store snapshots, we had to create a switch based
 on what version we are using.  If we are dealing with snapshots,
 we reference projects on compile scope, which means the build is
 packaged with them.  If we are not a snapshot,
 we reference the other projects on compile scope and the build is
 expected to download the dependencies.
refactor MetridocMain

migrated all 'commands' to actual command classes.  This will make it
 a lot easier to maintain these going forward

 Issue #9
Merge pull request #22 from metridoc/refactor-MetridocMain

Refactor metridoc main