Filter directive fixes

Some things that fell through the cracks when I added `if` support in the last release: this fixes the return type for the general `Directive#orElse` method so that filtering is available, and this also adds the expected `filter` alias for when you're not in a for expression.