Distributed Fair Scheduling and Power Control in Wireless Ad Hoc Networks