Documentation cleanup
Implemented doc feedback from @timgraham

sphinx spelling corrections

Fix early access of settings module

fix spatialite lookups

Add myself to AUTHORS

Alphabetise name in Authors
Fixed spatialite regression not resolving internal field
Removed col tuples from expressions
Use output_type in get_sources() instead of recursing
Removed broken multicolumn support from expressions
Fixed prepare() to return clone of self

Previously reuse of same F-object could lead to altering the query where
it was used before.

Also added some changes to how output_type is calculated. It is now OK
to have no output_type for inner expressions, but outer expressions must
always have one. Internally _output_type can return None, but
output_type can't. The reason is that we want to support F('foo') + 1,
where + 1 is converted to Value(1) and that doesn't have any known
output_type. It is thus OK to use the output_type of F('foo'). However,
if directly doing .annotate(Max(Value(1)), that isn't OK, as we need to
know the output_type of the value to do conversions. So, users still
must define output_type in that case, that is Max(Value(1),
output_type=IntegerField()). Another solution would be addition of
logic to Value() initialization so that it guesses the output type based
on isinstance checks.
Merge pull request #1 from akaariai/nonaggregate-annotations

Nonaggregate annotations
Fix GeoAggregate after prepare refactor
Added support for expressions in order_by requests
Implemented unary negation to invert the sort order
ORDER BY expressions now use .desc() and .asc() for controlling ordering,
rather than unary negation
Made ORDER BY expressions work with the change to the Expressions API
that causes Expression.prepare() to return a copy