More structured representation of an eval result.
More comments in generated Ninja file.
ast::Type should not have a copy constructor!

This class currently relies on being able to compare pointers when doing equality checking, so making copies willy-nilly is not a good idea.
Support lists of things other than strings.

Our new, general-purpose Value mechanism can support all kinds of things.