Support idempotency checks for sequential runs

Now `:if` and `:unless` can be used as header arguments from a block
to make sure that the block is run only when necessary or meets
one of the conditions defined in the block.