pn_driver_wait: return distinct error code in case of pn_driver_wakeup
Enable (singlethreaded) use of messenger in an external
event loop that does other stuff, too.

pn_messenger_wakeup() allows other app threads to break the
  event loop thread out of pn_messenger_send and/or pn_messenger_recv

pn_messenger_set_idle_recv_wakeup() allows the event loop thread to
  call pn_messenger_recv while it's still idle. Useful for cases where
  the event loop has to run before messages are sent around
Improve managing of messenger credit in case of several peers

A new link that arrives after a few rounds of pn_messenger_recv(100)
did not get any credit, the messenger spent all the credit on the first link.

the current approach flows the least credited links first.
it stops when all links have some predefined minimum credit available.
thus leaving some credit for future links
Add lots of logging to proton to ease understnding of it's inner workings

Introduce object naming facility as some layers are coupled really loosely

for now just dump everything out to stderr
Revert "fix and enhance messenger and driver"

This reverts commit 93129f05a745adc6a45c0d4d2a4af3cf419481c4.

becasue the commit was split into pieces
Merge branch 'bozzo_proton' into ttlj_proton