bot_test: new Matchers: finishes and finishesWith

Exactly like `completes` and `completion` from dart:matcher

*except* instances of `ExpectException` are thrown directly without being wrapped
Using `finishes` from bot_test