explain why this method is implemented
default to providing full template implementation in headers

longer compile times, but works everywhere
use correct code path for clang
fix ack options
make msgstreambuf thread safe