admit to having an eclipse config.

i hate admitting information about an ide leak into a project's source, but untracked files are irritating.
comment for possible future efficiency improvement, not sure what edge cases i might need test coverage for yet though
docs: give a concrete example of how to inspect a release.  also emphasize how nuke-and-pave is an excellent solution to cleaning up in case of a slip.
starting in on a way to perform cleanup of unlinked dependencies after e.g. a branch switch.  this would implement the feature that SwitchingToBranchWithoutDeps is already testing for (I should have put that test on a branch, because it's currently failing on master).
attempting to add a dependency under a gitignore'd path is currently broken; test to demonstrate.  fix if i was using the git cli is easy; but an equivalent option isn't available from jgit's porcelain yet.
satisfy some curosity: no, nested commands cannot share a dircache lock reentrantly.

also, discovered that LockFailedException is yet another completely egregious abuse of IOException.  a lock failed is cause for retry, or a user level warning about concurrent modification... it's not cause pretending like the disk is falling apart underneath you.
suppose for a moment that forking the entire body of the AddCommand seemed reasonable.
then suppose you rewrote it to ignore a whole bunch of stuff you didn't want, and it worked flawlessly.  ta da: GitignoreInteractionsTest now passes.
import cleanup
wip on building a new walk utility to help discover dangling git repos in a working tree that aren't referenced by gitlinks in the dircache.  also had to touch build config, since this has classes that are only referenced from tests so far.
Merge branch 'fix-linking-deps-under-gitignore-paths'
working SubrepoWalk.
`mdm update` has now learned to clean up any directories containing dependencies that are unlinked on your current branch.  SwitchingToBranchWithoutDeps.should_delete_unlinked_deps_on_update passes.
ooh, we should be careful about disposing of any repo that contains uncommitted changes, even if it is mdm-managed.  everything else remains in the data dir under the parent's .git dir, but if the work tree is nuked, uncommitted changes have no where to go.
remove debug printfs
check for uncommitted changes before removing worktree of a subrepo.
catch and better phrase an error when a version name is rejected
actually, try to catch it even earlier than that, because our current orphan branch builder will go right ahead and save refs with names that normal git would not.
Merge branch 'fail-safe-on-funky-release-version-name'
Merge branch 'cleaning-up-unlinked-deps'