Adding support for NOT and negation. Also, altered the handling of
constructors so that they appear to return the type of the object
created instead of void.