Fix bug where a skipped filter would cause all filters after it to be
skipped no matter what, and would be skipped if it was an array that was
incorrectly interpreted as a truthy value when checked against the
action.
Add tests to ensure before-filters after a skipped filter still get
called