move a bunch of tests that were named wrong
fix some comments in tests
first pass on separating work tree from git data dir for dependency modules.  surprisingly, this seems to get the basic functionality down already, as far as mdma coverage can tell.
minor fixes to a bunch of tests.  it appears the jgit lsremote command doesn't presently see through the gitdir indirection.
update exus-build link (the executable will now start with a shebang header)
Merge branch 'isolated-worktree'.  This puts submodule git data storage under the parent's .git/modules/ dir, much as mainline git has done starting in git-1.7.8.

This still does not mean git is polite when you switch to a branch that ought be entirely absent the submodule, though; much like when a branch change tries to remove a folder but there's untracked within, and you just get noise when switching back again, there's a similar clunk here.

Technically, the behavior is reasonable (what if there's some semantic data in that .git file that I don't want to lose?), but realistically it's just annoying.  I'm thinking about implementing workarounds via either recognizing canonical gitdir lines and blowing them away, or something about inspecting the reflog, or... sometime.  It's really awkward to do it as any observer that's not in the middle of the git-checkout control flow though.