Connecting, sending, and receiving: node actions.

Connecting to other nodes, sending to other nodes, and receiving from other
nodes are node behaviors, not behaviors of a peer. In fact, peers have no
behavior; they're just storage. They are born and die; that's it.
Create reference type for constant void pointers.

This will hopefully prevent me from forgetting to mark void pointers as
constant. Plus it's prettier lingually, "reference to x".
Remove unused headers.
Check to make sure the packet isn't too long.
Remove unused defines.
Remove leftover type from dualcrypt.
Track bandwidth used by peers.