solr: add shutdownCoresCloseTimeoutSeconds support with corresponding TestCoreContainer test

Summary:
In DRQS 53627004 error-in-final-commit during solr-shutdown led to corrupted segments_.... file which prevented subsequent solr-start.

This change (subject to a timeout) delays solr-shutdown until all requests have stopped using all solr cores. It also prints any suppressed exceptions within the error-in-final-commit exception.

Test Plan: -

Reviewers: raiyenga, dcollins, mjustice

Reviewed By: raiyenga

Differential Revision: https://all.phab.dev.bloomberg.com/D92562
solr: name cores that remain unclosed on shutdown

Summary: Seeing collection1_shard2_replica3 or similar core names in the logs is more helpful than the present log message.

Test Plan: -

Reviewers: raiyenga

Reviewed By: raiyenga

Differential Revision: https://all.phab.dev.bloomberg.com/D102840
solr: cores?action=UNLOAD can unregistered unclosed core

Summary: Changing CoreAdminHandler to wait for core to close before unregistering it from ZK. Adding testMidUseUnload method to TestLazyCores.

Test Plan: -

Reviewers: raiyenga, dcollins, mjustice

Reviewed By: raiyenga

Differential Revision: https://all.phab.dev.bloomberg.com/D104260