A Review of Clustering Schemes for Mobile Ad Hoc Networks