Add C3PO Transaction case class

This allows transactions to be passed around as a single reference
instead of a transaction ID plus list of tasks.

Fix MN-2999

Change-Id: Ica13dc0d5483edb7a3bed6b9778a9b692092a385
Signed-off-by: Brandon Berg <bberg@midokura.com>