First public checking of 2.0 beta branch.

Summary of changes from 1.0:
- Switch from MD5 to SHA-1 hashing
- MD5 file digesting is gone (too slow for big projects)
- Unit tests for core functionality
- Switch to C++ implementation
- Lua frontend is only invoked when needed
- Lua environemnt interpolation in C++ code
- Native build system uses fast mmap()d data structures
- Vastly improved MSVC project generation.
- Bootstrap build with Makefile or vs2012 projects

Null builds with 10k+ source files typically run in 200 ms using this
new design as the Lua frontend is completely bypassed when not needed.

Still lots of stuff to do, see doc/todo-2.0.txt and grep for TODO/FIXME.
The BSDs use stdlib.h for alloca(), wrap appropriately.
Build dependency files while building object files

Instead of building dependency files separately use the compiler's -MD
option to build both concurrently. This speeds up the initial build
considerably.
Move TODO list to github issues.
Create unique names for dummy nodes.

Closes GH-152.
Fix generic include scanners (asm)

This makes the 15 original tundra tests run without failure again.

Closes GH-154
Track opened/read files internally in Lua.

Fixes GH-158
Windows: Remove Win32 config. Link statically with CRT.
Quote path to t2-lua if needed (spaces)
t2-inspect: Dump env vars too.
Update to build with vs2012
Compare env vars on windows w/o regard for case.

Fixes problems w/ e.g. Path vs PATH.
Update docs for 2.0
Use the right type in size checks.
Fixed Clang warning
Document that FreeBSD might need a src.conf option for building libc++
Replace hardcoded library dependency lines with LDFLAGS.
For the BSDs adjust LDFLAGS to use libpthread for pthread_create().
Do a bit more OS detection in the Makefile

Now detects Linux and Darwin and sets appropriate options. These might
need a bit of a tweak but Works For Me!
Fix node name clashes for filtered units
Fix up assembly scanning test

Just assemble, don't link.

Fixes GH-163