Optional info field in UpdatePayment message

To simplify multiplexing payment update over one payment channel, an optional ByteSting info field is included in the UpdatePayment message. If a client chooses to include some info in the increasePayment call it will be delivered in the paymentIncrease callback of the ServerConnectionEventHandler interface.

You're always calling setInfo which means the hasInfo call on the receiving side will always return true for any upgraded clients. It probably makes more sense to only call setInfo if info != null and then don't use EMPTY as a sentinel value anywhere. null should be used to indicate there is no extra info available.