Refactored skipping to use TagExpressions
This also adds support for negating skip tags
Added more unit tests