Merge bitcoindevkit/bdk-cli#71: Add key-value-db and sqlite-db features, separate wallet directories
00454be42be22907d4d9c959483e79dc662de71c Update CHANGELOG with new db features and wallet data directories (Steve Myers)
14106ebdde145be0e5d88bbba8f87653c2558efb Prevent building with more than one database feature enabled (Steve Myers)
fac465ed9f141c73ea876319064782be90d3a37d Fix clippy warning (Steve Myers)
d7471f69b3affc2ddbb0b24e3c28bc4fe01354f8 Add key-value-db and sqlite-db features, separate wallet directories (Steve Myers)
Pull request description:
### Description
- Add distinct `key-value-db` and `sqlite-db` features, keep default as `key-value-db`
- Put cached wallet data in separate directories: `~/.bdk-bitcoin/<wallet_name>`
- Put compact filter data in `<wallet_name>/compact_filters`
- Depending on the db used put cached wallet data in: `<wallet_name>/wallet.sled/` or `<wallet_name>/wallet.sqlite`
### Notes to the reviewers
This change will help test BDK with different databases, in particular for manually testing DB migrations such as in https://github.com/bitcoindevkit/bdk/pull/502.
### Checklists
#### All Submissions:
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
* [x] I ran `cargo fmt` and `cargo clippy` before committing
#### New Features:
* [ ] I've added tests for the new feature
* [x] I've added docs for the new feature
* [x] I've updated `CHANGELOG.md`
Top commit has no ACKs.
Tree-SHA512: a2610448295b39674706ab48f36e4ccb92f7065489bca2b7e0be81a6bbc063844ce7ea3728bd1fffde97938a8ef84234ba5a6cee56aa0deca267bbd671ae692a