Content Caching and Delivery in Heterogeneous Vehicular Networks