Combining Low- and High-Temperature Heat Sources in a Heavy Duty Diesel Engine for Maximum Waste Heat Recovery Using Rankine and Flash Cycles