Code review for transaction commit timestamps
  There are three main changes here: 
 1. No longer cause a start failure in a standby if the feature is
 disabled in postgresql.conf but enabled in the master.  This reverts one
 part of commit 
4f3924d9cd43; what we keep is the ability of the standby
 to activate/deactivate the module (which includes creating and removing
 segments as appropriate) during replay of such actions in the master. 
 2. Replay WAL records affecting commitTS even if the feature is
 disabled.  This means the standby will always have the same state as the
 master after replay. 
 3. Have COMMIT PREPARE record the transaction commit time as well.  We
 were previously only applying it in the normal transaction commit path. 
 Author: Petr JelĂnek
 Discussion: http://www.postgresql.org/message-id/CAHGQGwHereDzzzmfxEBYcVQu3oZv6vZcgu1TPeERWbDc+gQ06g@mail.gmail.com
 Discussion: http://www.postgresql.org/message-id/CAHGQGwFuzfO4JscM9LCAmCDCxp_MfLvN4QdB+xWsS-FijbjTYQ@mail.gmail.com 
 Additionally, I cleaned up nearby code related to replication origins,
 which I found a bit hard to follow, and fixed a couple of typos. 
 Backpatch to 9.5, where this code was introduced. 
 Per bug reports from Fujii Masao and subsequent discussion.