Adaptive Cross-Layer Distributed Energy-Efficient Resource Allocation Algorithms for Wireless Data Networks