Bilateral Preference-aware Task Assignment in Spatial Crowdsourcing