Added attribute lists and Not syntax

- Converts attributes to be checked to an array if not already an array and thereby supports arrays of values now.
- Added ! inside {} template will negate the check.