Added callback-based exception reporting

Added callback-based exception reporting to UDP and TCP transports. The default callbacks print stack trace to STDERR, but user can also supply this own callbacks.

I'm not entirely sure if making DiscardHandler non-static has some ill effects re: memory use, since it now holds reference to the UdpTransport, but that seems unlikely.

The setters for exceptionReporters appear to be necessary for use with Spring.