This commit:
1. Formats all of our existing code using `black`.
2. Adds a note about using `black` to `CONTRIBUTING.rst`.
3. Runs `black --check` as part of CI (failing builds that aren't properly formatted).
When 2 instances of a Document had id = None they would be considered
equal unless an __eq__ were implemented.
We now return False for such case. It now behaves more similar to
Django's ORM.