rework logging

didn't like the dependency on tools.logging since it needs to be
configured to be useful, so the "default" shadow-build without any
Configuration was completely silent.

Instead now use a protocol so others may override the default
println behavior (see dev/build.clj for example logger)