Improving core components and datasources

- Moves loader.php and environment.php into core subfolder.
- Renames config.php to config-sample.php and updates default settings.
- Modifies config defaults to play nice with database config settings.
- Changes datasource config structure to be more consistent between
  datasource types.
- Changes Load::Cache() and Load::DB() to more intelligently choose
  default based on configuration settings.
- Removes default definition "db" from Load::Datasource().
- Changes Load::Session() to ensure a config change to session type
  isn't applied mid-request.
- Adds exception_error_handler() function which can be used in places
  where exception handling is favorable over errors.
- Adds the local (object) storage of the last saved/loaded version of
  data in models.
- Removes manipulation of model objects by datasources.  Assignment of
  data is instead handled within the model logic.
- Fixes a bug where unset model fields would not get saved (as empty)
  to the database/datasources.
- Renames $model->assignVars() to setValues() and creates original as
  alias.  Code depending on assignVars() should be changed as the alias
  will eventually be removed.
- Adds $model->getValues() function which gets the current model data
  (based on schema fields).
- Changes ACL helper to accept a zero (root) context.
- Removes $usesuffix convention from all cache types.  This method of
  pseudo-clearing the cache was bad practice that could result in
  excessive memory usage, cache slams, etc.
- Improves connection checking in memcache helper.
- Adds two-level debugging to memcache helper.  Level 1 debug messages
  output the operation, key, and value performed.  Level 2 messages
  (turned on by setting $cache->debug = 2) output backtraces.
- Adds request cache helper, replacing arrcache datasource helper.
- Improves PDO database helper, including many various improvements to
  schema handling, caching, and optimized SQL generation and execution.
- Renames $pdo->address to $pdo->host.
- Improves connection checking in PDO helper.
- Fixes $pdo->getAssoc() for two-column result sets.
- Changes memcache datasource helper to generalized cache datasource
  helper.
- Adds "mode" option to database datasource for differentiating between
  inserts and updates.
- Improves handling of json-encoded "array" fields in database
  datasource.
Improving authentication and output

- Adds UI helper as controller member.
- Fixes bug in $controller->render() where $this was overwriting
  variables assigned to $output.
- Improves Bootstrap-style rendering of elements in form helper.
- Fixes bug in output helper causing core themes to sometimes load
  incorrectly.
- Adds $headers object to output scope.
- Adds the ability for $UI->inputStatus to persist after redirects.
- Exposes $auth->encryptPassword() and $auth->bestEncryption() as
  public functions for utility purposes.
- Rearranges login and registration logic between auth controller,
  user model, and helpers.
- Fixes bug in blog controller where $model->id() was not being checked
  properly.
- Fixes bugs in page controller where content and drafts were not being
  saved or retreived properly.
- Cleans up blog and page views.
Adding install wizard

- Adds install wizard controller for new Escher installations
  (lacking a config.php file). The wizard will step a user through
  the process of generating the config.php file and setting up site,
  route, and administrative settings.
- Adds the "escher" theme as used by the install wizard.
- Adds the Bootstrap-based "Strapped" starter theme.
- Adds "install mode" to config helper.
- Adds config model for database-saved config options.
- Improves internal behavior of config helper.