Reworks the internals of how the debugger module stores the last-used
configuration:
- car of the configuration indicates whether it is a realgud or a
dap-based configuration.
- For dap-based debuggers, the entire dap configuration is stored, with
code copied from `dab-debug`.
- When inside a project, don't store the configuration as a buffer-local
variable, but instead as a project-local variable using
`projectile-variable`.
Fixes#2367.