Rename test in test_redirects.py.
Add tests to test_redirects.py.
Moved test to keep grouping consistent.
Handle more redirects and handle them consistently.

Previously, behavior for the following URL patterns was
inconsistent for subdomain URLS (pip.readthedocs.org/) and
RTD domain URLs (readthedocs.org/docs/pip/).

Below, I list the URL pattern, and the response status codes as they
worked prior to this commit:

/<version_slug>
Subdomain:  302 to /<default_lang>/<version_slug>/
RTD domain: 404

/<lang_slug>
Subdomain:  404
RTD domain: 404

This commit changes the redirect behavior as follows:

/<version_slug>
Subdomain:  302 to /<default_lang>/<version_slug>/
RTD domain: 302 to /<default_lang>/<version_slug>/

/<lang_slug>
Subdomain:  302 to /<lang_slug>/<default_version>/
RTD domain: 302 to /<lang_slug>/<default_version>/

/<nonexistent_slug>
Subdomain:  404
RTD domain: 404
Fix lang_slug URL redirect.
Handle redirect logic for lang_slug in new view.

Add redirect_lang_slug() view. First of new views to refactor
redirect logic out of urls.py and serve_docs() view and into
separate redirect views.

Only works for /docs/<project_slug>/<lang_slug> views. Doesn't
work for subdomain views.
redirect_lang_slug() works for subdomains.

redirect_lang_slug() will redirect to either:
    subdomain URL -> pip.readthedocs.org/en/latest/
OR
    RTD URL -> readthedocs.org/docs/pip/en/latest/

In redirect_lang_slug(), the call to reverse(serve_docs, **kwargs)
determines which URL to redirect to.

The function default_version_kwargs() sets up kwargs for default view,
and includes 'project_slug' key if redirecting to RTD URL. If redirecting
to subdomain URL, it doesn't include 'project_slug'.
Rename default_version_kwargs to default_docs_kwargs.

Also, add docstrings.
Handle redirects for version_slug.
Handle redirects for project_slug.
Handle redirects for /page/<filename> URLs.
Remove redirect logic from serve_docs().

All redirect logic is now handled in redirect_* views.
Tweak comments in serve_docs().
Actually follow redirects in test_redirects.py.
Remove subdomain_handler() in core.views.
Add more tests to test_redirects.py.
Add nice doctoring for section search.

Also fix up faceting logic.
Fix docstring formatting
Disambiguate the section query bits
Filter project facet by version.

This stops inflated counts for projects w/ lots of versions