Remove libbbitcoin-protocol dependent parts

This is a working, fully-tested version of your earlier patch. It removes the dependency on libbitcoin-protocol without affecting bx. I suggest merging it after version3 has been branched off. That way, this commit can exist only on the version2 branch.