Fixed msvc100 ide project generation to emit .vcxproj instead of .vcproj
Merge pull request #115 from benharper123/master

Fix IDE generation to emit .vcxproj instead of .vcproj for msvc100
Modify C/++ #include scanner to add an implicit newline at file end.
This behaviour is C++11 conformant, and it is the path of least
surprise.
Fix PCH dependencies so that the PCH is truly dependent upon its inputs.
Previously, the precompiled header file was not being scanned for
dependencies, so you would end up with stale .pch files in your
build.
Add error-checks to silence GCC 4.6 warnings
Added DefRule support

DefRule allows the creation of custom build steps that call out to other
programs to generate/transform source files without requiring external
lua script files. You can put the DefRule call straight in the regular
build file.

DefRules can be made config invariant. This is useful if nothing about
the configurations affect generated files and it would be a waste of
time to re-run the generation for each of the configurations.

The new sample generator-simple generates a source file (by calling out
to a python script) just once regardless of how many configurations are
built.
Give a clearer error msg if create_dag is broken
Bump to version 1.2.
Fixed ancestors were discarded every run.
Fixed Win32 build.
Added ObjGroup unit

An object group is just like a static library but other units that
depend on the object group include all of its objects in the link
command line instead of the static library. This is sometimes useful
when C++ global constructors for library-type stuff must still end up in
the main program. It can also be faster as no time is spent making the
archive file on rebuild. The main drawback of the approach is that the
link command line will be much larger as it will include a potentially
very long list of object files.
Fixed windows build.
Changed the docs to the working FGlob ignore trick

I noticed that since the paths are passed as full paths the pattern matching lua stuff got confused. The fix for that was to simply include a forward slash in the beginning to anchor the match as a file name given the presence of the `$`.
Merge pull request #124 from leidegre/patch-2

Changed the docs to the working FGlob ignore trick
Added MinGW support.

Update hello world example for MinGW.
Fix bug where Depends couldn't be config filtered.

StaticLibrary { Depends = { { "foo"; Config = ... } } }

should now work as expected.
Support :# to quote strings for Win preprocessor
Windows improvements

- Always use temporary files for background processes. Fixes
  issues with virus scanners preventing temporary file removals.

- Support newlines in response file patterns, so that crazy long
  link command lines (> 128 kb) can be supported. Replace the newlines
  with spaces if the command is not going to a response file,
  otherwise they are left in.
Fix Ctrl+C/Break on Windows wasn't hooked up.
Fixed long standing bug with ancestors and command line changes

Previously, the command line (action) was used to compute the each node's
GUID. That was wrong, as it would cause old nodes to be found in the
ancestor history when the command line was changed and then changed back,
causing Tundra to not rebuild files even though the command line had
changed.

This change moves the action into the input signature and only uses the
output files (or annotation for file-less nodes) to compute the GUID. This
means the right node will be found most of the time in the ancestry, and
that node will be checked for command line changes properly as the command
line is now baked into the input signature.