JavaScript version: Add support for the ! symbol, standing for 'negate'; using '!' before any rule string function or block will negate its result. Fix a typo in the Chain.js plugin. Add support for negation in Chain.js: start with pupil.not or use it during the chain, e.g. pupil.max(5).not(pupil.between(3,5)).