T159 floor

Rewrote data model and all dependent code.  This is a large pull request.

Before:
  Location had .building ('g', 'e', or 'v') and .floor (integer).

After:
  New model entities for Building, Floor, Zone.   Buildings have Floors, Floors have Zones, and Zones have Locations.

URL patterns have also changed (hopefully for the better).  Examples:
  /gelman/floor/2 - all locations on a floor
  /gelman/location/E-001  - session history on a location
  /gelman/offline - offline machines in Gelman
  /offline - all offline machines
Currently there is no view for a Zone.

Data migration:
  0004 - adds new entities
  0005 - custom data migration.  First, this adds GW-Libraries specific Buildings, Floors, and Zones.  Then it migrates existing Locations by associating each with the appropriate Zone, by parsing the location naming schema.
  0006 - removes obsolete Location fields