bencode: * Handle omitempty on non-trivial types. cmd/dht-ping: * Handle timeouts in ping transactions. dht: * Propagate failed transaction responses properly. * Msg related tests are moved into their own file. * In some places, IPs in binary form are shorted to 4 bytes if IPv4.
Bencode encoding/decoding sub package. Uses similar API design to Go's json package.