As mentioned in parent issue, and design docs for phase-1 (HBASE-10070) and Phase-2 (HBASE-11183), implement asynchronous WAL replication from the WAL files of the primary region to the secondary region replicas.
The WAL replication will build upon the pluggable replication framework introduced in
HBASE-11367, and the distributed WAL replay.
Upon having some experience with the patch, we changed the design so that there is only one replication queue for doing the async wal replication to secondary replicas rather than having a queue per region replica. This is due to the fact that, we do not want to tail the logs of every region server for a single region replica.
Handling of flushes/compactions and memstore accounting will be handled in other subtasks.