Renamed some files
Lots of changes to set up unit testing, and to move some of the functions
around to support those changes.

* GenericObject and GenericCollection are now Abstract_ instead of Base_
classes.
* Config now moves into Container, but adds Config and SecureConfig in Object.
* Database moves into Container, but the core connection functions are now
in Base.
* ExternalLibraryLoader reduces the length of the handler variable.
* Base_GeneralFunctions, Base_Response and Base_OpenID now has more
descriptive variable names.
* Request adds dependency injection to the main function (getRequest()) and a
wrapper into a Container. (Still being written!)
* Renamed getFull() to isFull() in various places.
* Removed pointless @todo's from User.php, GenericObject and UserAuth.php
* Added Testable exclusions to the autoloader. Also added the
spl_autoload_register() to the autoloader after PHPUnit didn't pick it up!
* Added a "democonfig" file for testing purposes.
* Added the beginning of some tests of the containers.
* Added the sqlite database to the .gitignore
Moved Request back from being a container to being a Base class.
Several changes.

* Made ConfigTest less tolerant of issues
* Added more tests to DatabaseTest
* Moved _Testable classes into the Test files, rather than being inline.
* Base_Database doesn't default to MySQL
* Base_Database now does SQL string lookups, based on the type of database it
connects to. This is also passed from Container_Database to Base_Database.
* Added Demo Data to the end of Object_Config
* GenericObject now uses the getSqlString from Base_Database via
Container_Database to run all the SQL strings. It also throws exceptions back
up the stack when encountering errors.
* GenericObject also doesn't use the ASC keyword in ORDER BY any more (this is,
I believe, implied, and doesn't work with SQLite).
Set up bootstrap and config files for PHPUnit
Fixed some spacing issues.
Add an AttendeeTest unit test file.
Renamed Base_RequestTest to Container_RequestTest and made some changes to
actually test things.
Various changes to the Request classes to make them more testable.
Added whitespace.
Changed from Base_Request to Container_Request and made index load the config.
Don't know why this didn't load, but moving to the HTTPS rather than GIT prefix
for the php-openid library seems to have made a difference!
Moved the Template Loader into the Base_Response class.
Stopped PHPUnit from scanning the External Libraries folder.
Lots of changes here, mostly to set up checking for all classes, but also to
fix things in the classes when the tests show something needed to be changed.

* Base_CacheTest - Basic check - to be enhanced.
* Base_ExternalLibraryLoaderTest - Basic check
* Base_GeneralFunctionsTest - Ensure it can't be instantiated by itself.
* Base_HookTest - Full or Partial testing. Enhance only if changes require it.
* Base_OpenIDTest - Basic check
* Base_ResponseTest - Basic check
* Container_ConfigTest - Fix to existing tests.
* Container_HookTest - Full or Partial testing.
* Object_Attendee - Partial testing - to be enhanced.
* Object_DefaultSlotTypeTest - Basic check
* Object_ResourceTest - Basic check
* Object_RoomTest - Basic check
* Object_ScreenDirectionTest - Basic check
* Object_ScreenTest - Basic check
* Object_SecureConfigTest - Partial testing
* Object_SlotTest - Basic check
* Object_TagTest - Basic check
* Object_TalkTest - Basic check
* Object_TrackTest - Basic check
* Object_UserTest - Basic check
* Object_UserauthTest - Basic check
* autoloaderTest - Full test.
* Abstract_GenericObject - Improvements to the SQL support for SQLite, better
whitespace layout and movement of the Hook code into a container.
* Base_GeneralFunctions - Statics for all functions, prevent instantiation.
* Base_Hook - split into Container and Base, better whitespace, improved
exception selections.
* Base_OpenID - Moved Base_Config call to Container_Config
* Base_Request - various improvements to the code - better handling of CLI
variables, better processing of detected username and password in $_SERVER
variables, better handling of data in HTTP_IF_NONE_MATCH.
* Base_Response - prevent instantiation.
* Container_Config - secure reset function, allow providing null for
strFilename in the loadconfig function and handle secureconfig better.
* Container_Database - corrected whitespace suggestions.
* Container_Hook - split from Base_Hook
* Container_Request - allows passing of parsable variables.
* Object_Config - corrected typos.
* Object_SecureConfig - Added demo data.
* Object_Slot - Corrected Base_Config to Container_Config.
* Object_Tag - Corrected Base_Config to Container_Config.
* Object_Userauth - Corrected Base_Config to Container_Config.
* index.php - Corrected Base_Config to Container_Config.
Split Container_Request into Container_Request and Base_Request allowing for
better testing.
Another huge bundle of changes for the Unit Testing stuff. Code coverage
currently at 39.81% of files with testing functions. PHP CodeSniffer is being
somewhat ignored at the moment, as is the mess detector.

* Gitignore now points to /config/demo.sqlite as an item to ignore.
* Shedload of changes to the Base_RequestTest... including
** URIs now terminate with a slash, as per REST recommendations.
** Moved parse calls into their own functions - parseServer and parseFile for
clarity. Aside from anything else, they were being called so often, it would
be almost impossible to track any of it!
** Test the hasMediaType for a non-normal action using a standard mime-type
** Handful of new tests for the basic server test.
** Test a non-site path URI.
** Test all the recognised media types we detect based on fileformat.
** Test PUT and DELETE requests
* Container_Config handles brokerByID properly now (actually returning an
object, rather than an array of data. Oops!)
* Container_ConfigTest checks that the database returns config data properly
now, including passing write() requests off correctly.
* Container_HookTest performs a reload on the plugin file (which also means
it checks that the config file can be loaded too!)
* Added an interface for Object-like items, providing a way of ensuring the
objects all have consistent functionality. Applied to Container_Config,
Abstract_GenericObject and Abstract_GenericObject.
* Abstract_GenericObject performs write() functions on items with no primary
key ID.
* Corrected whitespace issue in Base_GeneralFunctions
* Added PHPDOC to Base_Hook
* Tidied up code in Base_Request
* Corrected function calls in Base_Response to use the right functions in
Container_Config
* Container_Config uses the config file's modified time as the "last modified"
value for all local config.
* Container_Config also correctly stores all the Config and SecureConfig
values based on the Key value, rather than just the integer for the entry in
the table where they were read.
* Made Container_Config adhere to the Interface_Object definitions.
* Container_Hook resets itself if it is told to reload the config.
* Object_Config stores the "lastChange" date if it is provided (for config
file values, rather than from the database) for new objects
* Object_Slot and Object_Tag uses the new Container_Config::brokerByID rather
than the old get() functions.
* Object_Userauth uses the new Container_Config::getSecureByID function
instead of the old getSecure function.
* The testing demo config uses a real database rather than keeping it in
memory, as when it was in memory, I couldn't confirm what had been happening
to the data. This will probably revert.
Delete the flowcharts - they are not being used and currently are confusing
matters.
A huge bundle of changes to try to bring compliance with the Zend CodeSniffer
tests, and to fix some of the Mess Detector issues.

* Lots (but not all) of the protected variables now have _ prefixes.
* Many of the lines - especially comments - now fit under 80 characters but
some may not where this would prevent the code from executing or being
readable. More of the lines fit under 120 characters, but this is still not yet
complete.
* Most non-camel-caps variable names now are in camelCaps
* The isCreationAction variable in the construct function throws an exception
when this arrives at the GenericObject class. This is because it shouldn't
be going all the way back up the stack to here - it implies insufficient
planning and thought process. Plus, it should be tracked by the Unit Tests :)
* OnlyXMayModify values are now _reqXToMod to ensure long variable names aren't
being used throughout the code base.
* Replaced some "and"'s with "&&"'s and "or"'s with "||"'s to try to improve
code speed. Also, looks nicer.

I've probably missed some stuff, but at least I'm trying to track this with
28 files changes, 1042 insertions and 875 deletions. That's a LOT.
Improved testing for the Base_Request functions - 99.53% here now, but I
can't test one line of code, as I can't recally how it got in there, and what
case caused me to introduce it!