Rename send_challenge to macan_send_challenge

This function is needed from both nodes and a keyserver so give it a prefix
and move it to public interface.
Document return value of macan_process_frame and update the code accordingly
Replace number with symbolic names
Rename canid2ecuid() to macan_canid2ecuid()
Replace GET_FLAGS and GET_DST_ID macros with inline functions

This makes the code simpler and more readable.
Remove macan_crypt_frame type

It is not needed now.
Move GET_SEQ and GET_LEN from .h to debug.c

It's needed only there.
Remove receive_challenge()

AFAICS, this functions is not necessary. Challenges need to be handled only
in key server and time server and they provide their own handling. Node
do not need to handle this message.
Rename sig_callback to macan_sig_callback
Move cheaper tests to the beginning of macan_process_frame()

More expensive tests will be only run if the cheap ones pass.

Also remove obsolete comments.
Rename signal to sig_val

"signal" could easily be confused with signal number. Now we use sig_num
to denote signal number and sig_val to denote signal value.
Remove code duplicity in time server and macan_process_frame()

This simplifies time server by calling macan_process_frame() to process
received frames. Time server should now benefit from all checks performed
in macan_process_frame().
Update Tasking project
Simplify key server reception callback
key server: Remove unnecessary variable
key server: Simplify resolving of long-term keys
key server: Improve error handling
key server: Fail when no -k option is given
Use macan_key data type in the key server
key server: Make skey_map local static variable

This way, lookup_skey is the only interface for accessing this (ugly)
data structure.