Auction-based Spectrum Sharing in Multi-Channel Cognitive Radio Networks with Heterogeneous Users