Explain where functions.py comes from

Add a note to the docstring. Sorry, @moskytw
Lazy resolve all _as calls
fields really should be extra_fields
Rename _get_query_string() to query

Matching Django QuerySet's convention
Disable __getattr__ proxy to RawQuerySet