Added Log.temp and useful (for debugging) stdout logger.
Added ability to pass custom logger to client (&co).

This makes debugging peer connections vastly less impossible (when you have NxN
clients all logging things willy nilly and you don't know who the hell is
talking about what the hell).
Various per-backend bits for the last two commits.

I also deprecated the JVMClient factories in favor of a single public
constructor and a utility method to get the "AWT" executor. This is necessary
to support the "override the log" mechanism I chose, which is to create an
anonymous subclass and override the log() method.