add message lost detection






<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/intel-hadoop/gearpump/189)
<!-- Reviewable:end -->

Please refactor this.
Will firstAckRequest  always be non-null?