Implement LLVM code generation for do loops

They can be represented in ASR already. To write the LLVM IR lowering, we first transform them into While loops using #186, and then just call our current LLVM lowering.