Add a get_data_dir() function, and proper developer-mode data management.

Review Request #13168 — Created July 31, 2023 and submitted — Latest diff uploaded


Review Board


This introduces reviewboard.admin.server.get_data_dir(), which returns
the the absolute path to the data directory.

In practice, this is always $HOME, whether in production or
development. This is important, as much of the state stored and accessed
in this directory is SCM-specific, which hard-code $HOME. However,
that also means that for development, state gets written to the user's
$HOME, but that's not a new problem.

Our checks have been updated to use this, and some upcoming code will be
using this as well.

Unit tests pass.

Made sure that startup checks still work.

Made use of this in some in-progress code.