Adding support for HTTP basic/digest auth for CGI environments in `Request`.

Adding tests for `lithium\action\Request`.

This fixes basic/digest auth for CGI environments in
`lithium\security\auth\adapter\Http`.

Parts of the implementation (the decoding of the basic auth header)
could in the future be extracted into a new decode method in
`lithium\net\http\Auth`. However there are two arguments against that:

(a) `lithium\net\http\Auth::decode` currently works expects a digest
    header only - with the leading `"Digest "` part already stripped off. To
    make the method authorization method agnostic it would need to expect
    the unstripped header or another hint in form of an additional argument
    to the method.

(b) Even if the above is implemented we would create a dependency on
    `Auth` which may not be desired or needs to be further clarified.
Refactoring instantiation of `Request` in auth adapter test.

The object has been already instantiated by other test methods except
two. According to Fowler's "Rule of three" it is tolerable to have code
duplicated up to three times. Argumenting in reverse a generalization
that isn't used more than two times should be inlined.
Clarify purpose of tests for Http auth adapter.
Aligning equal sign and separating digest block.

The separation of the block makes it clearer, that it is reuesed in the
following code multiple times.
Adding tests for auth adapter `Http` for CGI environments.
Removing magic numbers in CGI HTTP auth.
Documenting needed rewrite rule for HTTP auth with CGI.
QA cleanup.
Merge pull request #981 from davidpersson/http-auth-cgi

Enable HTTP basic and digest auth for FCGI/CGI environments
Warning BC break, remove the automatic `__init()` calling from `lithium\core\Libraries`.
Fix for Database::_sort (#986). Will not output ORDER BY clause if given field is empty (ie. if  = array()).
Updated a test case.
Merge pull request #987 from marcghorayeb/fix-sql-empty-sort

Fix Database::_sort outputs empty ORDER BY clauses
Fixes #988. Fixes #804. Message::body removes empty values before encoding.
Fixes #988. Fixes #804. Again, but simpler and doesn't break other stuff.
Merge branch 'master' into dev
Allowing explicit related models to be service located.
Resolves the issue in #460
Merge pull request #993 from joebeeson/460-mysql

Resolves the issue in #460
Skip tests which require Mongo if Mongo is not installed.
Merge pull request #994 from jails/refactor/make-mongo-optional-for-tests

Skip tests which require Mongo if Mongo is not installed (close #991).