Revised transaction ending procedure. Details follow.

I separated the end of the transaction into two different tasks.

First, end the current transaction and print a receipt. This is what
ajax-end.php does now. It rotates data out of LTT in preparation
for the next transaction but does NOT send transaction data to the
server.

Second, send transaction data to the server via a new callback,
ajax-transaction-sync.php.

There is a method to this madness. Right, now it helps get the receipt
out faster since printing is situated at the very end of ajax-end.php
in case of any printer error that locks the script. Eventually, I
want to make the sync process more background-y. With some revisions to
how sessions are handled, I think I can make sending data to the server
a truly parallel action that can run in the background without causing
any session locking or contention.
Added extra instructions to the undo confirmation page. I used
javascript to insert the extra content rather than add a whole
new "input header" function to the BasicPage class.
Permissions fix. Blame Windows.