Refactor payment protocol (second step)

Next steps in evolving the payment protocol. It's mostly about signing and verifying payment requests. I've also added a complete CA hierarchy as a test vector.