Merge branch 'master' into dev
Starting port of mdm to java -- there are limits on how stable and consistent I can make a program that depends on a locally installed unknown version of cgit, so this new port will be built to be cross platform and work with a bundled version of jgit -- in a new root of history.
Import exus-build submodule.
adding dependency on ahslib at v0.6.5.
adding dependency on slf4j at v1.6.6.
adding dependency on logback at v1.0.7.
adding dependency on jgit at 2.3.1.201302201838-r.
Implement `mdm status` using jgit.
adding dependency on argparse4j at v0.4.0.
Translate all args parsing from mdm python to use a similar library in java.
License text.
Move the MdmModuleStatus data holding class and MdmModule.status() method to reside in MdmStatusCommand, because they're really not very reusable outside of it.
Recreate the MdmExitMessage concept and make that the return type of all MdmCommand callables.
shifting dependency on lib/ahslib to version v0.6.6.
Move some common string manipulation functions out to use a shared library version.
Give MdmModule a SubmoduleStatus property like the one returned by jgit's SubmoduleStatus command.
Add general purpose exception type for mdm issues.
Implement most of `mdm update`.

Making fields package-writable in MdmModule when the situation demands it, and not really having any shame about it.  This is going to make it very easy to desync our in memory state from reality.  At the moment I don't care, because every one of this commands is pretty short-lived, but if it becomes a problem then building some more sensible cache refreshing behavior into MdmModule might be wise.  ...Or, I quit being silly and just put all those methods in Plumbing into MdmModule.  But I'm going to run with the pattern of fairly direct translation from python for a while yet, and find reasonable places to break things up later.
adding dependency on jsch at v0.1.49.
Change an exception message to better match the source of the problem.  Fix happy result of an mdm update command that failed for some modules.

I just found out -- and incidentally, I just love problems that get solved with wireshark, don't you? -- that Github's https repository access will 404 you if you don't have a git user-agent string.  And JGit doesn't lie about who it is.  So, Github breaks itself for JGit.  Superb.....