The current error handling provides poor reporting. For example any error within Multihash or Multibase just lead to an [`Error::ParsingError` without much further information](https://github.com/multiformats/rust-cid/blob/eb999b2239ee51d652dafd1b650926d184f1da86/src/error.rs#L47-L69). I propose using https://crates.io/crates/thiserror, so that we can nest the actual underlying error.