20 Years of Turbo Coding and Energy-Aware Design Guidelines for Energy-Constrained Wireless Applications