Update dependency to dj ~> 4.0

* Refactor query conditionals into clearer "scopes"
* Adjust scopes slightly to better match logic in DJv4
* Changes in scopes seem to fix edge cases broken by me previously
* Trigger a record reload after we perform lock_exclusively
I wasn't sure with the `1.0.0rc` release if people would be confused by `1.0.0`. I have no particular preference on that.