Strict type check for null cache values

Previously, generated cache results that returned 0, '', array() etc
were being ignored. This change narrows it down to just false.

Ideally we would use a EmptyCacheHit object to be very specific for
these cases, but perhaps this approach is a bit overkill.
Merge pull request #2605 from willmorgan/cachetofile-false-fix

Strict type check for null cache values
"House rules" docs
Merge pull request #2611 from chillu/pulls/house-rules

Written up some "House Rules" for the community, but particularly for the core team.
Note about API changes on master
API New Database abstraction layer. Ticket #7429
Database abstraction broken up into controller, connector, query builder, and schema manager, each independently configurable via YAML / Injector
Creation of new DBQueryGenerator for database specific generation of SQL
Support for parameterised queries, move of code base to use these over escaped conditions
Refactor of SQLQuery into separate query classes for each of INSERT UPDATE DELETE and SELECT
Support for PDO
Installation process upgraded to use new ORM
SS_DatabaseException created to handle database errors, maintaining details of raw sql and parameter details for user code designed interested in that data.
Renamed DB static methods to conform correctly to naming conventions (e.g. DB::getConn -> DB::get_conn)
Added alter and drop to list of database write operations
Added 3.2 upgrade docs
FIXED Clarified behaviour of DataObject::get with a case-insensitive class name. Limit this test to MySQL for the sake of prudence.
Corrections to merge of files that have moved location.
Better use of filter over where in TreeDropdownField
Updated and replaced use of deprecated api
API DB naming requirements better conform to MySQL standard naming rules
Corrected deprecated DB::createDatabase API
Fixed array to string conversion in MemberAuthenticator::authenticate
API Prepared statement caching
API Option to allow for prepared statement emulation in PDO
API Added exec method to PDOConnector
BUG Added workaround and notice for check table commands failing using PDO in native mode
BUG Fixed issues with PDO running in native mode
API DBSchemaManager has 'notice' status flag for messages
PHP Optimisation
API Dropped DBQueryBuilder->format for performance reasons
API Optimised DataObject::hasOwnTableDatabaseField with static replacement and simpler implementation
Optimised DataObject::database_fields
Simplified DataQuery::ensureSelectContainsOrderbyColumns and DatabaseAdmin::cleanup to use more concise API
BUG Fixed incorrect cacheKey generation in DataObject::get_one
Better use of DataList::filter, ::byID, and ::byIDs
Reverted removal of "SELECT ... IN ..." syntax for ExactMatchFilter, which helps to generate simpler SQL for multiple comparisons
Less repetition of unnecessary calls to SS_Database::comparisonClause
Improved PHPDoc
Reverted change to DBQueryBuilder and re-implemented old behaviour with better code
Fixed issues with sort order of fixed fields (ClassName, Created, LastEdited) in queries.
Fixed issue with behaviour of sort order