Add tests for message pipes

These aren't exactly trivial, so I may have missed some behavior, but hopefully caught everything important.

-[Unknown]