1. 这里牵涉到过去完成时的用法.
2. 前后两个动作都发生在过去:make a promise和keep it.
而根据常识,make a promise“许下诺言”一定是发生在keep it即keep the promise“信守诺言”之前,所以make a promise为“过去的过去”,所以它用过去完成时态,即had made a promise.
而该短语使用部分倒装,即把had提至主语he的前面,变成了had he made...
3. 后面那句话没理解楼主的意思,依我看来应该是变成:but also would keep it,用过去将来时.