locationLevel of items and holdings is now set so that OLE's editor
works properly.  It has to be a string like
"Institution/Library/Shelving" -- that exact string, not filled in with
values.  Both holdings and items now use the same FlatLocation class,
which is embeddable and incorporates both the location string and
location level string.  The FlatLocation is built from a location string
using LU_BuildInstance's getFlatLocation method, which takes a location
string like what's in the 999 fields $l subfield.

When two bib records in the XML export have the same bib ID, and both
are actual bibs and not MFHD records, then the 999 fields from the
second are concatenated onto those of the first.  This only came up once
in our data, for a bib with 700+ items.  It seems to have been due to an
export limit in Sirsi that caused this record to be split.

Print and electronic holdings record both now get their call number
string and call number type from the same places -- the $a and $w
subfields of the 999 field, respectively.  Previously, electronic
holdings records got a call number of the domain from their URL, but
that doesn't work for some electronic records, like several govdocs,
that do have actual call numbers too.  Since print and e-holdings both
use the same method for setting callnumber info, that code has been
moved into buildCommonHoldingsData.

MFHD bibs aren't put in the database.  The call to persist a bib no
comes after the MFHD records are skipped and the code to combine two
bibs with the same ID by cat'ing together their 999s has run.

The URL of the OLE database is now set by an environment variable,
${oledbhost}, since it may be localhost, or it may need to be the IP of
the server.  This appears in persistence.xml.