Transaction fail reasons

Added descriptive text unique to each transaction failure case to the dialog box when transactions fail.

The dialog box was made bigger so all the different text fits within it.  An enumeration with values for each different reason why a transaction can fail was added to TransactionFailEvent, and is set appropriately to note the reason why a transaction was not allowed.  Descriptive text is then placed in the dialog box based on this new info.

If anyone has any suggestions on the exact text to display, let me know.  Right now it pretty much just says what happened and not much else.