Use dynamic memory allocation where appropriate (FN_DHK_LEN is sort of
an assumption, for example).

Do sessions (with a uniqueid) need to be handled in the protocol
code?  In the client code?

Implement a full keygen (even though it probably won't ever be used).

Maybe a freenet message could know what an EndMessage is, and stuff.
And maybe there could be a nice #define-based numerical system for
identifying message types, instead of using this irritating text
compare system.

