Open existing ledger asynchronously for reading.
Opening a ledger with this method invokes fencing and recovery on the ledger
if the ledger has not been closed. Fencing will block all other clients from
writing to the ledger. Recovery will make sure that the ledger is closed
before reading from it.
Recovery also makes sure that any entries which reached one bookie, but not a
quorum, will be replicated to a quorum of bookies. This occurs in cases were
the writer of a ledger crashes after sending a write request to one bookie but
before being able to send it to the rest of the bookies in the quorum.
If the ledger is already closed, neither fencing nor recovery will be applied.