This PR makes public and private storage thread groups independent.
previously, `new_storage_threads()` returned two `StorageThreads`
handles, but both handles were backed by the same underlying storage
worker group. this meant Servo carried a public/private distinction
through the API and wiring layers, while both sides still talked to the
same storage backend threads.
Testing: Added shutdown_storage_group test, and should not effect WTP
test.
---------
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>