Fixed #23167 - Add __repr__ to BaseForm

related to https://code.djangoproject.com/ticket/23167
I meant to comment on this last night, but time escaped me.
Absolutely repr should not have side-effects, which using the public API causes.
The way to step around that, I think, is to test against `_errors` directly, which was what I think I suggested in the original ticket. I implemented one which I *think* works [here](https://github.com/kezabelle/django-haystackbrowser/blob/feature/more_faceting/haystackbrowser/forms.py#L145) though I wonder if it could be improved upon further by doing something like:
```
if self._errors is None:
    is_valid = "Unknown"
else:
    is_valid = self.is_bound and not bool(self._errors)
```
However, that is just my thinking out-loud, and is reasonably beyond what I proposed in the ticket.

As an aside, my personal preference would be to include the module in the repr before the class name, but for consistency's sake it'd be best to check the rest of the repo for reprs and do the same as those, I guess.