Two-Sided Search and Matching: Theory and Estimation