bus: internalize a lot of protocol definitions

We shouldn export what isn't necessary or useful to clients, so let's
add the protocol definitions we only need internally into a private
header.