Mechanism Design for Multi-Type Housing Markets