Rework the built-in GenesisDocProvider implementation for streamability: the provider should not need to store the whole file content in RAM to parse the JSON or calculate the checksum.
DoD: The implementation uses an incremental parser (e.g. json.Decoder from the standard library) and an incremental SHA-256 hasher, so that the entire file content is not read into memory at once.
Originally posted by @mzabaluev in #1293 (comment)