!tes #2971 Make TestKit.remaining throw AssertionError outside of within

This PR adds a method `remainingOrDefault`, which behaves exactly as `remaining` used to behave and makes `remaining` throw an `AssertionError` if called outside of a `within` block. All usages of `remaining` in the akka code base have been changed accordingly.