An Extensive Study on Model Architecture and Program Representation in the Domain of Learning-based Automated Program Repair