Merge branch 'stable'
output formatting patch.  really, this is getting messsy and we should get a terminal controller that understands margins.
okay, junit... we need to have a talk
junit output: i do not want to see the stdout or stderr of tests unless something has gone horribly wrong.

sadly, this only works *sometimes*.  it's not nearly as smart as what `go test` does.  seems like subprocesses spawned by josh still see my tty.  i don't know if this is junit's fault, or because something deep in the java subprocess forking model is fucked... based on prior experiences, probably the latter actually.  no matter, they're going to rewrite it AGAIN in the next version of java, and completely re-fuck all the sematics of filedescriptors in a unique and exciting way...
shifting dependency on lib/josh to version v0.4.

some minor api changes.

this makes it possible for junit to shunt output from exec'd git commands into its formatter (and thus out of my face in my working terminal).
sweet jesus why is this not the default
start saving test output to files and using a terser sumarry output on the terminal.
again: oh my god, how is this not the default?  enable assertions in test runs.
experiment with two formatters, one for dumping fulltext to file and one for giving useful images of progress on the controlling terminal... doesn't work very well.

one can't set outputtoformatters=false per formatter, which is sad because i'd like the fulltext file logs to contain, well, the everything; and the terminal should clearly not.

this also doesn't provide any convenient route for displaying interesting logs when a failed test occurs... looks like that miiight be surmountable using the magic "failure" formatter type and a bunch of custom formatter stuff, but not sure; otherwise surrounding shell scripting or something attrocious.

there's also just an ongoing travesty with all these formatters: simple things like consistent levels of line breaks between test classes is entirely fucked up.  skipped tests will ram their log line right up against the next case.  captured output streams are farther away from their testcase name than the one that follows them.  it's almost like someone made a deliberate attempt to use every possible visual element as a mental disruption.

this is all way harder than it needs to be.  and i haven't even tried to do something like get a useful shorthand for per-package-glob testing.  all of this is done completely out of the fucking box with golang testing.  i'm getting so irritated trying to recreate that level of productivity over here in java that i'm seriously considering dropping java testing and writing all the acceptance tests in a separate golang process.
adding dependency on ant at 1.9.4.mvn.
adding dependency on ant-junit at 1.9.4.mvn.
yank a custom formatter from the interwebs.  it's a start.  radically less broken by default.

still going to add more colorizing, and conditional output variations so failed tests dump logs, at the very least.  possibly collapsing methods into multiple checkboxes on a single line, though not sure about that (the way goconvey does this is diamonds, but the junit api just isn't shaped like that so it might not translate easily).

AMEND: oh my GOD, junit only collates stdout and stderr per CLASS?!  god DAMNIT guys, this is fucking embarassing.
fix goofed eclipse config
most important thing in the world: shut the hell up, unless something goes wrong; then tell me about it.  this output is now almost palatable.
alignment, motherfucker -- do you speak it?!
looks to me like this is already getting called.  don't do it twice.
colorize basic pass/fail output
actually, call it pass.
remove support for incredibly ancient junit version -.-
import cleanup.