Internal: use AtomicInteger instead of volatile int for the current action filter position

Also improved filter chain tests to not rely on execution time, and made filter chain tests look more similar to what happens in reality by removing multiple threads creation in testTooManyContinueProcessing (something we don't support anyway, makes little sense to test it).

Closes #7021
Rest: fixed filters execution order to be from lowest to highest rather than the other way around

Closes #7019