Fix #148

CI_Input::_clean_input_data() assumed that all input data is URL-encoded while sanitizing it.
However, PHP already performs URL-decoding on it, so this is either redudant or overly
intrusive as it resulted in many, many reports of data containing '%' followed by 1 numeric
characters being essentially destroyed.

Supersedes PR #1229
[ci skip] Fix a wrong issue reference from the previous commit
Fix #346

When ['global_xss_filtering'] was turned on, the , ,  &
superglobals were automatically overwritten. This resulted in one of the following problems:

 - xss_clean() being called twice
 - Inability to retrieve the original (not filtered) value

XSS filtering is now only applied on demand by the Input class, and the default value for
the  parameter in CI_Input methods is changed to NULL. Unless a boolean value is
passed to them, whether XSS filtering is applied depends on the ['global_xss_filtering']
value.
Make newline standardization configurable

Added ['standardize_newlines']

Also altered the Session cookie driver, which experienced issues with this
feature due to it's HMAC verification failing after the Input class alters
newlines in non-encrypted session cookies.

Supersedes PR #2470
Deprecate the 'mysql', 'sqlite', 'mssql' and 'pdo/dblib' drivers

The 'mysql' PHP extension is notorious for it's problems and is deprecated as of PHP 5.5.

The other ones are dropped from PHP 5.3.