Improve env interpolate error message.
Improve env lookup failures to print all values as well.
MSVC project fixes

- Only overwrite .vcxproj files on changes.
- Don't try to built meta projects.
MOAR! MSVC project fixes

- In multiple solutions, only build the projects specified in the hints.
- Also add INCLUDE-specified directories to the NMake intellisense hints, so MSVC can figure out that types defined in e.g. stdint.h are in fact types.
VS2012 projects: Add ability to regen from inside VS.

Also add friendly names to build system meta projects.
VS2012 project generation: Allow hook functions
Even more VS project generation improvements

Fixed issue where top-level dag nodes didn't get sources. Now we trawl the
entire DAG for every unit, but we do so in an order that's sorted by unit
dependency complexity. The idea is that leaves (e.g. static libraries, obj
groups) pick up source files before things that want to use those leaves have a
chance to do so. In seems to work well.

Added hooks to inject platform-specific data into project files. Useful to
support non-public platforms where we can't share the source for the
generators.

Pass in the ide generator module name all the way from the command line down to
the generator itself, so it can put in a "regenerate this project" command
using the correct generator, even if an overriding one has been used that just
tweaks msvc-common a little.