Add message field to user model

This field will be used to hold a message to be displayed to the user on
their next keypress saying why the transaction they were working on has
gone away.
Refund part-paid transactions on defer

When a part-paid transaction is deferred, the payments get moved to the
next session along with the transaction lines.  This can be very
confusing, especially if it was part-paid by card.

When a transaction with a non-zero payment total is deferred, the
part-payment is now refunded using the default payment method.  The user
is instructed to remove that amount from the till and set it aside to be
used in paying the transaction in the future.