[native] Gate Socket inside PersistedStateGate
Summary:
Put Socket component inside PersistedStateGate, because it depend on data persisted in SQLite - like threads or messages, when commincating with server. (e.g. when comparing store hashes with server)
No other compoenets inside PersistGate depends on data from SQLite, so it's enought for them to wait for redux-persists.
Test Plan: Tested on iOS virtual device, with very long databbase load (10s) and very short time between state sync (5s). Without the new gate, server sends whole threadStore to the client before it's loaded, but with the new one, it doesn't.
Reviewers: palys-swm, ashoat
Reviewed By: palys-swm, ashoat
Subscribers: benschac, ashoat, Adrian, atul, karol-bisztyga, boristopalov
Differential Revision: https://phabricator.ashoat.com/D2659