Tune replication and stabilize tests

Made following changes for replication
- Increased Heartbeat timeout to 500 milliseconds.
- Send only one entry from the replicated log to the follower in append entries

Both of these tweaks have been made to prevent election timeouts and frequent switching of leaders

Changes to tests
- Added a duration when constructing an ExpectMsg. This prevents ExpectMsg from waiting forever when
  and expected event does not occur
- Removed all Thread.sleep from the tests and replace them with waiting for a specific LogEvent this is
  a more deterministic.

Change-Id: Ie9ce0c9c73bf1b170a78879b1e2dab76f1de64df
Signed-off-by: Moiz Raja <moraja@cisco.com>