Use ImmutableTransaction on DefaultHandshake
Introduce exchange and role attributes on Handshake
Make client.Handshake more like common.Handshake

Use ImmutableTransaction and remove the Buyer/SellerHandshake derived
classes.  Also, move some details of DefaultHandshake to make it more
similar to the new implementation by having partial refunds instead of
total refunds.
Merge pull request #195 from sortega/issues/41

Make client.exchange.Handshake and common.exchange.Handshake more similar