Remove the TODO; refactor matching to correctly handle conditionally
built `Sled` variants. Use `unreachable` instead of `unimplemented` with
a comment hinting that this is a bug, this makes it explicit, both at
runtime and when reading the code, that this match arm should not be hit.
Change the return type of the `descriptor!()` macro and `ToWalletDescriptor` to
avoid having to map errors.
Also introduce more checks to validate descriptors built using the macro.