2-3x improved throughput for filter, when its filterFN does not return a promise. Nearly the same for when it does.

Also prefer the maybeThenable check throughout the code-base