Don't attach attributes to nodes in the parsing stage, do it on the semantic pass. This allows macros to generate attributes that will be attached to subsequent declarations.
Updated Changelog
Fixed Class#to_s and Class#inspect (define the versions that receive an IO)
Fixed: parser didn't parse "def self.[]?"
Make ENV#[] raise exception on missing value, and added ENV#[]? and some other methods. Fixed #164
Macro defs are now written like `macro def name(args) : ReturnType` instead of `def name(args) : ReturnType`, which was a bit confusing. Partially related to #160
Crystal 0.3.3