30-then.t, Q.pm: $on_fulfilled and $on_rejected are both optional.Tests for that case are added.
t/35-then-cancel.t, Q.pm: bug fix: pending returned future was not cancelled on cancellation of next_future if invocant future was pending when then() was called. Add test cases for that. Pass the tests.
t/30-then.t: add tests that invocant future and next future are always different objects.