Since `notmuch` 0.32, `libnotmuch` has an API to open the database with
a configuration file. The options are a fully qualified path, empty
string for no configuration file, and NULL for auto-detection of notmuch
configuration. The `notmuch` backend relies on the auto-detection for
opening the database with a fallback to no configuration. We have no
mechanism for user-specified configurations.
To allow user specification, this commit introduces a new configuration
variable, `nm_config_file`. Users have the option of three values:
1. A path
2. An empty string for no configuration file
3. `auto` for auto-detecting a config. file
Allowing users to express the three possible options we can pass to
`libnotmuch`. The `auto` keyword allows us to workaround the constraints
of the configuration system without relying on validator and internal
variable hacks.
However, this change requires working around NeoMutt's configuration
system as path variables map empty strings to `NULL`. While not ideal,
it's a single conditional.