Separating scale input from CC terminal input, take 2
BUGFIX: Refund PreParser should not decide whether the rest of the
input is valid or not.
BUGFIX: parser output in all cases
Bugfix of initial startstamp assignment in select_struct()
BUGFIX: Driver checks for multiple modules attached to the same device
Merge remote-tracking branch 'origin/master'
BUGFIX: Patronage report refers to unknown table
Cleanup old session variables

I removed A LOT of settings from lib/CoreState.php. This is
partly in the interest of basic code cleanliness and partly
to reduce reliance on $_SESSION where it isn't necessary. Locked
sessions don't fail gracefully. Most changes fall in one of
these groups:

1. Setting no longer does anything: e.g., "away" or "scan" fall into this
category. Values were assigned to these settings in various places,
but nothing pays attention to them. These I simply removed all
instances.

2. Setting is used in exactly one place: e.g., PrehLib::checkstatus()
assigned several session variables. This function is only called in the
Void parser so it can simply return those values rather than stick
them into the session. I refactored these kind of situations to
behave the same way without using sessions.

3. Setting is used but does not need to be in the session: e.g.,
I changed "idSearch" to a URL parameter instead.

Once I have these changes on live lanes, I want to try
turning to receipt printer off at various points in a transaction
(to simulate out-of-paper/jam/other failure) and see how well
POS copes with possible session locks.

Conflicts:
	pos/is4c-nf/gui-modules/memlist.php
Refactor of gui-modules requestInfo.php and adminlogin.php.
Rather than taking a couple session variables, both pages now
take a class that provides a callback function. This provides
more flexibility in what happens after the info/password is
entered. Documentation for appropriate class interfaces is
included.
Refactor to get rid of endorse-related session variables.

The endorse part is simple. boxMsg2.php accepts the endorse info
as URL parameters instead of session variables and then includes
them in the form. The JS on that page can then determine when to
trigger the AJAX endorsing script and pass the necessary parameters
as part of the request.

In the process of re-writing all instances of endorsing, I made some
additions to the TenderModule class to make the SimpleTender parser
unnecessary. Rather than hardcoding a few tender values in that parser
for special handling the TenderModule itself can decide what to do
if no amount was specified.
Session state cleanup & standardization

I removed "warned" and "warnBoxType" so that warnings using
boxMsg2.php are uniformly controlled by "msgrepeat". I gave
that page a URL parameter "quiet" to control whther or not
it should beep the scale.

I removed "inactMem" because it was used in only one place
and was redundant with "memType".

I removed "chargetender" because it was redundant with "chargeTotal".

I removed "receiptType" because it wasn't actually doing anything.

I commented every setting that's still in CoreState.php. I think
I've pared it down to only settings that 1) still do something in
the current code and 2) belong in the browser session.
Merge remote-tracking branch 'origin/reduced-session-usage' into reduced-session-usage