use relative timers in retransmission queue

This change addresses bug #27 "_order_timestamp can't handle time wraps".
t in struct coap_queue_t now is the time (in ticks) relative to the
previous entry in the queue. The first entry is relative to sendqueue_basetime
in struct coap_context_t (TODO: possibly make the first entry in the
queue relative to 0, eliding the need for sendqueue_basetime).

As no other ordering of nodes except for timestamps is used, the function
parameter for coap_insert_node() has been removed.
adjust client and server example to relative timers
New data_type coap_time_diff_t and functions coap_time_lt(), coap_time_le()
for time stamps with wrapping
use time comparion functions
Revert "use time comparion functions"

This reverts commit 2d0ae6b82b28341a4cc60e7b864d38363b22f4d5.

Possibly not use this for relative timestamps.
Revert "New data_type coap_time_diff_t and functions coap_time_lt(), coap_time_le()"

This reverts commit b58874ee68932d719cf0fc5d73cc487edbe224db.

Not needed for relative timestamps as used in the sendqueue.
New data_type coap_time_diff_t and functions coap_time_lt(), coap_time_le()
for time stamps with wrapping
put time functions back in
added coap_adjust_basetime() to advance sendqueue_basetime
unit tests for relative timestamps in sendqueue
drop assertion on not wrapping

it is the idea of the relative-timestamps branch that such asserts are
not necessary any more, and that if timestamps wrap, they just may.

rephrased expression for determining t for clarity.
fix segfault when removing the only element in the send queue
have all coap_log error messages complete their lines
introduce partiallydirty resources and dirty subscriptions

this change spreads the concept of "dirty" from resources to
subscriptions. this allows queuing up notifications in case not all of
them can be transmitted at the same time (which can happen due to
constraints in pdu or node space).

when a dirty resource's notifications can not be sent, the resource is
marked as partiallydirty, and on the subscriptions that could not be
sent out, the dirty flag is set. they get cleared later when
coap_notify_observers gets run again, as it not only looks for dirty,
but also for partiallydirty resources.

note that there is currently no facility that prevents that all the
nodes get assigned to the send queue, leaving no room for receiving
packages (which happens in mass notifications, blocks all incoming
packages and is only resolved by the transmissions timing out). my
current test setup always leaves at least one node free for reception by
over-allocating and freeing a node on sending.
allow having a resource list instead of a hash

this brings O(n) lookup time for resources, but allows removing dynamic
memory management
porting required to get a minimal example to build with lwip stack
defunct time implementation for lwip
lwip for net.c
non-c99 compatibility
temporarily enable malloc for coap_{malloc,free}_node