Fixed #20606 -- Fixed 'for' example in template tag docs

Thanks batisteo for the report.
Adjusted the docs to reflect when the checksetup command was added.
Fixed #20583 -- ORM always uses setup_joins() for join generation

There were a couple of places which used Query.join() directly. By
using setup_joins() in these places the code is more DRY, and in
addition there is no need to directly call field.get_joining_columns()
unless the field is the given join_field from get_path_info(). This
makes it easier to make sure a ForeignObject subclass generates joins
correctly in all cases.
Fixed #20464 -- Added a `total_error_count` method on formsets.

Thanks to frog32 for the report and to Tim Graham for the review.
Fixed #20614 -- Typo in documentation.
Added myself to the commiters list.
Fixed #20615 -- Added trove classifiers for major Python versions.
Refactored ValidationError to allow persisting error params and error codes as the exception bubbles up
Fixed #20199 -- Allow ModelForm fields to override error_messages from model fields