[identity] Replace elastic crate in identity
Summary:
This replaces the elastic crate by implementing the opensearch response struct in the file opensearch.rs. Attempted looking into using the opensearch rust crate but it doesn't implement a deserializable struct. Instead, opensearch.rs examples showed accessing the hits as a serde_json::Value. Opted to implementing our own struct instead with anything extraneous removed
Context: https://linear.app/comm/issue/ENG-7046/remove-elastic-package-from-identity-service
Test Plan: Tested on local websocket server. Successfully deserializing opensearch response into hit results
Reviewers: varun, bartek
Reviewed By: bartek
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D11231