Issue Description
Related to #2881
The underlying issue is that AmendmentCenter throws a std::runtime_error when the queried ledger does not contain an Amendments ledger object.
Investigation is needed as to why a ledger object that is ALWAYS expected to be there is not available. It could very well be that such object was not part of the protocol back in the day, hence we could see this with some old ledgers but not with newer ones.