BUGFIX: old loop on non-existant variable
BUGFIX: path_info not guaranteed to return an extension value
BUGFIX? Correct include paths
Updated UNFI invoice scraping script
BUGFIX: reactivate all members not just custdata.personNum=1
Report all people w/ loans or equity
BUGFIX: stray comma in queries
Remove references to valutec* tables in fannie.
Purchase order export to ChefTec default import CSV format
Does a few UNFI-specific re-writes to translate unit sizes into
something cheftec can understand.
Updated Unfi task to work on new website
Incorrect column name. departments.salesCodes should be salesCode
New field shelftags.count for multiples of the same tag
Allow "$" in prices for item import
Plugin BUGFIX: case sensitivity
New Task module for rotating transaction data. Principal differences:
* Only rotates data older than the current day. Can be run repeatedly
  or at any time of day without issue.
* Uses DTransactionsModel to create monthly views if needed rather
  than maintaining a separate view definition. Does not bother creating
  deprecated rp_ views for each month.
* Rebuilds summary tables for each day so there are never primary
  key errors or missing data.
* Does not support remote archiving. That whole feature could probably
  go away.
Deprecate old fannie-side receipt views that aren't used
BUGFIX: incorrect column name in equity history task
Reduced prodExtra usage in favor of products.brand
Built-in code update mechanism. Alpha. Be careful.
I ripped the old, non-model database update out of the UI entirely
and added this so the updates tab handles both data and code.
I updated the documentation to reflect this.
I also added a key/value store mechanism to the DataCache class
previously used for caching report data.
BUGFIX: save price correctly in legacy UNFI batcher