Make it more obvious that awaitAssert will periodically evaluate the assertion
(including performing any side effects in it) until it succeeds (or the timeout
is reached)
* re-implement javadsl testkit
* fix mima problem
* rebase master
* move ImplicitSender/DefaultTimeout to scaladsl
* undo the change of moving scala api
* fix return type and add doc
* resolve conflicts and add more comments