Potential fix for #1073: installer issues

- App_hooks (especially pre_controller hooks) need to check for a
database connection before loading the settings library.
- CodeIgniter was not looking in the correct location for the install
controller (bonfire/controllers).
- Installer is still a little rough around the edges.
Router changes for #1073

I missed a file on the last commit
Possible fix for #1073, part 3

- Disable hooks in install controller and home controller (when not
installed).
- Update settings lib to not use the database if the settings table does
not exist (or the database is not connected).
Remove use of EXT (deprecated constant), formatting

- Removed use of the deprecated EXT constant from some files (ignoring
MX files at the moment)
- Formatting/code style updates in Profiler and template libraries.
Added get/setLayout() methods to Template Library

- Deprecated the public $layout property. It should be protected or
private in a future version of the library.
Fix #1075 removed installer's statistics collection

- Removed statistics collection form the installer
- Updated changelog for this and previous commits, including fix #1073
Improved consistency of database field types #1045

Set the size of common field types to be consistent between tables.
Changing all bonfire tables to use the same types and constraints when
referring to user IDs, email addresses, IP addresses, and module names.
- The user_id fields in other tables (activities, user_cookies,
user_meta) should match the definition of users.id. This does not
address the inability of the primary keys on these tables to keep up
with the users table.
- Email address fields should be able to store the largest valid email
address (254 characters), and the login_attempts table should be able to
store email addresses in the login field, since the system can use them
in place of user names.
- IP address fields should be able to store a value from CI's sessions
table.
- Module names should be consistent across tables.
- Timezones in CI2 can be up to 6 characters, but in CI3 and PHP they
can be up to 32 characters ('America/Argentina/ComodRivadavia', 40 adds
a little room for future growth, or in case I missed a longer one).
Changing the type from char to varchar potentially reduces the storage
impact of this change on most databases, especially when continuing to
use CI2 timezones.

Notes:
1: It is left to the user to ensure that activities, user_cookies, and
user_meta do not contain user_id values which are out of range (negative
values) before performing this migration.

2: Some databases will complain loudly (or even throw errors and refuse
to continue) when reducing the size of fields, so uninstalling this
migration may be difficult.

3: On some databases the varchar constraint is the number of bytes
rather than characters, so multi-byte character sets like UTF-8 could
exceed the constraint before exceeding the maximum valid length of the
data being stored in that field.

4: This is not intended to fix cross-database compatibility issues. This
is simply intended to improve the consistency of the database fields
within Bonfire. There is still more work to be done in both consistency
and compatibility.
Minor updates from CI 2.2-stable branch

Commits through Sep. 28, 2014
(https://github.com/bcit-ci/CodeIgniter/commit/ff731854218ac0ad0c4b99c168cf58e2aa2b5ae2)
- Remove some references to PHP5
- Account for cookie_prefix in work-around for CI issue 3094
backup utility support for MySQLi driver

Basic port of the MySQL driver's _backup method to the MySQLi driver.
Fix #578 modulebuilder config "defaults"

1. - primary_key_field appears to have been fixed by a previous change
- form_input_delimiters has been removed
- form_error_delimiters support is added by this commit

2. Form validation should have been mostly fixed by a previous change
Fix #1076 Builder: Textarea Editor selection

Also additional fix for #578
Fix #726 Send email to notify admin to approve user

Currently sends the email to the site's 'system_email' if the emailer
library successfully sent the email to the user.
Revert da48d5debd20967cd04733987e074b5c0189efd5
Fix #1078 Builder localStorage conflict
Added bfmysqli driver to improve mysqli support

Allows improved mysqli support without changing the CodeIgniter code.
Simply set the database config as if you were configuring it for mysqli,
but change the 'dbdriver' to 'bfmysqli'.
Database module support for bfmysqli driver, language updates, CSS

- Added support to the database module for the bfmysqli driver.
- Changed language files to use `database_` prefix instead of `db_`
prefix to prevent conflicts with CodeIgniter's language files.
- Moved CSS out of the views.
CI 2.2-stable update

improved detection of https in CI/core/Config when setting the base URL
Mark 0.7.1 as released
Old CI bug we keep reverting from #618
Updated links for CI user guide