Created the convenience function Place listCategories() and updated the Map page and corresponding site.php controller method map() to use this
Settings admin panel: added MAP.invalidateSize() on tab change, to help with a problem of the map becoming nonfunctional when tabs change. Maps and tabs always need this sort of workaround
Updated Map page to use the new version of the .categories attribute of markers. Per the commit a few minutes ago, this is now a comma-joined list and not a true list.
* Place Data Source driver "shapefile" deleted; will develop CartoDB instead, in keeping with the "Web 3.0 Ecosystem" model

* Also in Place Data Source base class: fix for rule matching, esp with "empty" rules
Broke out CSS from map.phtml view, into a static CSS file.

Created site.js with common, sitewide JavaScript: ajaxSetup, jQuery UI tabs, ...
Minor wording change to the admin intro page
Place Data Source: removed the "enabled" concept, as it is not being used and likely has no realistic use case
Map page has a date & time filter, so one can pick places with activities happening right now.
This is in anticipation of an upcoming feature, of Places to have "open hours" and similar,
though that is not yet implemented.
Oops on previous commit: This change to header.phtml, so it in fact loads the timepicker jQuery library.
The Place Data Source drivers' listFields() method  no longer accepts the $assoc=TRUE parameter, but always returns a list. Creating an assoc turned out to get very involved in "what would the caller want?" such as blank fields, "_ALLRECORDS" as a field, etc. so this is best left to the caller.
Place Data Source driver: ArcGIS REST: improved error messages for "invalid name & description field" errors. Now it tells you the name of the field it was expecting.
ArcGIS REST Place Data Source driver: updated some comments to be more clear
- Place.php model: Removed orphaned reference to CSV place data source driver. Added the stub for OGC WFS.

- Place DS driver: ArcGIS REST: fix to the deletion of old records not found in the source

- Place DS driver: Google Spreadsheet. Works; initial release.
'
Controller: administration:

Model: Place: listCategories() renamed to listCategoryNames() ... and supplemented with listCategoryIDs()

Admin UI: Place Data Sources page: the places list now has working filters by Data Source and by category