Support for bundling an optional info Protobuf ByteString with a Payment...

This is the second part of being able to multiplex different payment increases on the same payment channel. The server sends the info as a return value of the paymentIncrease methods. Use null for no info. On the client side the Future returned from incrementPayment is changed from a Future\<Coin\> to a Future\<PaymentIncrementAck\>, containing both the Coin value and the ByteString info from the server. The info might be null.

I would suggest to make proto keys go in order (key with the largest index goes last)