LP#1066326: Allow component partitioning of ingest

The component parts of the indexing process are fairly flexible. In some
places they can be called with parameters that control the behavior, and
other places will respond to global and/or internal flags.  However, there
is some inconsistency to which parts will react to each mechanism.

Previous to this commit, there was no way to cause ingest to skip specific
parts of the indexing process (search / facet / browse, in particular)
even though the stored procedure responsible for this had the ability to
perform, and parameters for the control of, this behavior.  Now, when any
of the parameters are false (the default, saying "do not skip") it will
check the value of a related global flag and, if enabled, skip that part
of the ingest.

This will allow one to do perform massive, batch, parallel ingests of bib
records, something that was effectively blocked by the way browse ingest
is performed.  By disabling browse ingest during the main record loading,
and then performing only the browse ingest later, one can significantly
reduce the time required to load massive batches of records.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1066326: use internal flags; sync with master

After discussion with Mike Rylander, moved the new flags
to internal flags, as exposing them to the staff client's
global flag admin page could lead to records getting incompletely
ingested without there being an easy way to rectify the problem
from the staff client.

Also, sync up with other recent work on ingest.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1066326: protect against flags being entirely missing from config.internal_flag

Belt, meet suspenders.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Stamping upgrade scripts for ingest partitioning

Signed-off-by: Mike Rylander <mrylander@gmail.com>