Feature/17 logging

A PR that implements replaceable logging, common abstraction points and cleans up code that the replacement touched. Also implements some header parsing to track span ids flowing from clients.

Fixes #17 .