Improved const invariants

@bsoetaer 
Added new functionality for defining commonly used contracts in a single line.  'const' and 'require_square' are now implemented using this system.
Why are these functions rather than just being constants?