delete user

WP [#17654](https://community.openproject.org/work_packages/17654)

Requires merging of #2325
you can see how job objects enable us to include other modules, in this case the hooks required for multitenancy. we also had a discussion whether job objects/asznchronous workers and service objects can be considered the same. at least one difference is that delayed job objects shouldn't be passed any objects in their constructors but rather plain types likes ints etc. (delayed job's serialization can be problematic sometimes). in service objects you want to pass in the objects directly.