Removed $filters from cache_lib functions (no longer needed).
Added ability to add single keys to multiple lists with one cache_lib call.
Cleaned up comments in record dao and link dao.
Fixed a pretty stupid bug in cache_lib::single() where cache was being set even after the record had just been pulled from cache... no idea how that one slipped through.
Standardized, anytime $offset and $limit exist in a function's parameters, the order is always $offset then $limit.
Renamed cache_list_engine to cache_meta_engine.
Reworked the cache_lib's $after_cache_func callback to contain more useful parameters, this has not yet been implemented on link daos properly.
Fixed small bug in last commit.
Added delete cache closures for link dao multi gets.
Fixed a few bugs.
Corrected cache destruction on delete record, it no longer flushes *all* cache (that's a really inefficient thing to do).
Added count_multi() to record dao.
Removed specialized/redundant meta cache functions, and used the more generic functions in their place.
Renamed entity_record_dao::limits() to entity_record_dao::limit_multi() to make it more consistent with the naming convention.
Added key_prefix override for redis. Each named redis server can have its own key_prefix that overrides the default.
Disabled the $list_items_to_remove code from meta cache deletion functions, since this can cause race conditions, kinda sucks this needs to be removed, but it's possible redis will support a command in the future that allows for the deletion of empty sets...  *crosses fingers*
Removed list killing code.
Also renamed entity_dao::_build_key_order() to entity_dao::_build_key_list_field(), makes more sense.
The meta cache functions need more review.
Fixed missing functions in pgsql link dao driver.
Renamed all entity dao/api functions inserts() -> insert_multi(), deletes() -> delete_multi().
Started on new link dao write functions.
Fixed a bunch of record/link DAO drivers to report errors properly by rolling back and/or returning false when a query fails.
PGSQL driver now throws an exception if a replace into is attempted, since PGSQL does not support this feature. Previously the driver was just dying silently, that's bad.
Fixed a bunch of record/link DAO drivers to report errors properly by rolling back and/or returning false when a query fails.
Entity DAO drivers now throw exceptions on failures (of inserts/updates/deletes/commits) instead of returning true/false. DAO's now handle those exceptions by returning true/false back to the calling function.
Moved dao meta related functions out of cache_lib (since it's not cache, they're persistent lists) and into their own entity_meta_dao class with drivers.

Finished up link write functions and cache busting, needs more testing.
Fixed a bunch of small bugs.
Renamed entity_meta_dao to entity_meta_lib, again.
Functioning/simplified prototype of meta cache system.
A bug exists in the multi count for both link and entity DAOs, needs fixing.
Updated link DAO generator, and regenerated all link DAOs, thereby removing legacy code.
Minor bug fixes in variable naming.
Fixed up (speed improvement) SQL queries for count_multi() and all other UNION based multi gets.
Fixed bugs with entity_link_dao::_by_fields_multi() and entity_link_dao::_by_fields().
Also fixed mistake with self/parent for LIMIT in entity_record_dao.
Fixed a variable collision in the entity_link mysql driver causing the wrong data to be returned.
Removed remaining inefficient multi getters in DAOs. Replaced them with UNION ALLS (this way there is no need for md5 hashing of fieldvals.
Added orderby/limit/offset to many to many preloading in collections.
Updated dao collections to match this.
Implemented model collection counts being loaded in models.
Implemented orderby/limit/offsets in many to many functions in models.
Updated all models to have the new functions.