Allowed property-style arity and precedence in macros, added while and threading macros, and cleand up tests.