Towards D2D-Enhanced Heterogeneous Networks