A user shouldn't need all the resolver types, each comes with their dependencies. We can lower flagd's footprint by splitting them into [features](https://doc.rust-lang.org/cargo/reference/features.html)