First implementation of minimal Broker API

If we do serialization like this (external and in a single header) it's gonna get pretty darn crowded here really, really quick. If this is just our "first best guess" so far, however, I could live with it for now. But we should clearly mark it for future consideration.