Change `B` constructor of `Metadatum` from `ByteString` to `ByteArray`.
Currently, the `B` constructor contains a `ByteString` (pinned in memory) with a max length of 64 bytes. Since the `ByteString` is small and can be instantiated frequently, it makes more sense to use an unpinned byte array representation (`Data.Array.Byte.ByteArray`) so that we can take advantage of Haskell's garbage collection to improve memory allocation of objects in the heap. We also place an upper bound on `nothunks` because of new orphan instance (`instance NoThunks ByteArray`) that is going to be upstreamed.