Reduce miknet header and make it network-safe.

Some of the data in mikpack_t (such as the pointer to the data, and the
peer index) were useless to machines other than the sender. They also
varied in width and byte order.

mikmeta_t is strictly the network-relevant metadata for a packet. Functions
have been implemented to encode it in network byte other and interpret it
back to host byte order. The types in it have explicitly defined bit widths
and altogether amount to 7 octets for the header, which isn't bad at all.

On all machines, it should be 7 octets. However, on machines that do not
define bytes as 8 bits there could be some problems.
Update the todo.
Remove unused temporary pointer.
Allow the peer's state to indicate their protocol.

MIK_CONN will symbolize a fully connected peer, using the miknet protocol.
MIK_BARE will symbolize a tcp connection, with not additional protocol.
Include a header for switching protocols.
Modify sending and receiving to honor bare state.

If a peer is in the state MIK_BARE, none of the miknet protocol should be
used; everything should be left up to the programmer. This includes
separating packets. One exception is that per call to miknode_poll(),
miknet will only receive MIK_PACK_MAX bytes per peer.
Strike out bare setting in the todo.