Save 40% of DAG generation time on Windows.

fputc() is not a good idea on the VS2012 CRT (slooooow)
Use a custom buffered writer instead.
Saves 5 seconds of DAG generation time on a big project.
Perf: Speed up JSON string escaping using LUT
Perf: Environment interpolation now done on native side.
Perf: Avoid linear scan of dependencies for another speedup.

In other news, linear searching a list of 3000 things repeatedly isn't the best idea.
To be fair, this only creeps up in a huge build setup, typically when linking with
object files instead of library files which causes a huge inflation of dependencies.
Perf: Add ad-hoc benchmarking function wrapper.

Expose native timer functions to Lua.
Publishing Beta8 installer and binaries.
Added support for Windows 8 SDKs, VS2013 and a wild VS target
Add Lua profiler and report generator script.

To inspect Lua frontend performance, run:

  t2-lua --profile generate-dag tundra.lua

This will generate a report file called "tundra.prof"

A perl script "prof2text.pl" is provided to format this data to a report.
Force MSPDBSRV.EXE when using Visual Studio 2013
MSVC: ATL lib path was missing 'lib' piece.
MOAR Lua frontend performance!

- Change native interpolation code to ignore $(<) and $(@) unless there is a
  lookaside table passed in.

- Interpolate again from cached key to resolve < and @ only.

- Invalidate cache when environment is changed.

Gives a good 1 second speedup on one of my very big testcases.

Bonus:
Don't crash if unable to write profile file.
Fixed shlib dependencies were wrong when filtered.

Depending on a shlib which had been completely filtered out and replaced with a
dummy node would still try to link the shared library stub on Windows.
Add static+shared linking example via subvariants.

This is a common pattern in various IDEs.
Commit state files atomically with rename

Closes GH-176
Dump named nodes and aliases when -t is used.

Closes GH-186
Merge branch 'master' of https://github.com/deplinenoise/tundra