doc: xss_clean() method is in Security, not Input

The Input doc does talk about xss filtering, but they refer you to Security for details, which is where the function is actually defined.  It gives more detail about what the function is supposed to do, and avoids some irrelevance.

It's probably not a big deal; it just looks wrong.  It _might_ have been responsible for [confusion](http://stackoverflow.com/questions/13570522/this-input-xss-cleandata-giving-fatal-error-with-codeigniter) sometimes.
Improved extensibility of the URI class by modifying `_uri_assoc()` to (1) not force a specific list of valid options for `$which`, and (2) build the `$segment_array` and `$total_segments` dynamically regardless of the contents of `$which`.

Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
Fixed normalization of headers under Apache

The existing header normalization routine converts headers provided by Apache (that is, with `-` in the name instead of `_`)
to all lowercase, with the exception of the first character.  This is different from the expected result, wherein each word
of the header is capitalized.  For example, `CONTENT-LENGTH` would normalize to `Content-length` instead of the expected
`Content-Length`.  The reason for this is that the existing code is only converting underscores to spaces, and leaving hyphens
untouched.  The fix is to replace hyphens with spaces as well before passing the result through `ucwords()`.

That fix is included here.

Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
Merge pull request #2107 from danhunsaker/feature/header-normalization

Fixed normalization of headers under Apache
[ci skip] Happy new year
Merge pull request #2106 from danhunsaker/feature/uri-extensibility

Improved extensibility of the URI class
Fix #2108
doc: fix table markup in previous commit

"These "border lines" need to have a length higher or equal to the
longest line in the table that would be generated, so you'll have
to update them as well." - narfbg
Merge pull request #2075 from sourcejedi/patch-1

doc: xss_clean() method is in Security, not Input
fix a typo in index.php
Replaced array_push function reference with a faster ordinary element insertion method
Merge pull request #2111 from carneeki/develop

fix a typo in index.php
Merge pull request #2113 from and-ers/develop

Easy optimization
Update readme.rst

The IRC link no longer works since the website has been updated.
Merge pull request #2119 from ckdarby/patch-1

Update IRC link readme.rst
Fix MSIE conditionals regex in minify output func

Allows IE conditionals like the following to remain unmodified.

<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

Credit to joebert regex from
http://www.sitepoint.com/forums/showthread.php?696559-Regex-pattern-to-strip-HTML-comments-but-leave-conditonals&s=3eef4ceb0a59b2fdb946fa56220fb6fd&p=4678083&viewfull=1#post4678083
Revert "Fix MSIE conditionals regex in minify output func"

This reverts commit 8e12c787042396e172a7448c65bd16c3015ffb0f.
Fix MSIE conditionals regex in minify output

Allows IE conditionals like the following to remain unmodified.
```html
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
```
Credit to joebert regex from

http://www.sitepoint.com/forums/showthread.php?696559-Regex-pattern-to-strip-HTML-comments-but-leave-conditonals&s=3eef4ceb0a59b2fdb946fa56220fb6fd&p=4678083&viewfull=1#post4678083
utilize static function variables in Common::log_message() to "cache" log threshold and Log library instance to reduce function calls
Slight performance improvement by moving some class property initialization to the class property declarations rather than setting them in the constructor. Subclasses can always override in their own constructor if they wish to. Is there a reason why it was done the way it was done? A policy that I am not aware of?