osx: Fix TUP_SUDO_SUID to use the wheel group.

OSX uses wheel instead of root as the root group, so use that when setting suid if TUP_SUDO_SUID is set.
Update SQLite 3.7.13 -> 3.7.14
Update SQLite 3.7.14 -> 3.7.14.1
win32: Updates to support newer mingw toolchain (with gcc 4.6)

For some reason many of the header files and macros have moved around or disappeared. One nasty change in particular has caused the stat() wrapper to fail. Since that is only used to find the fstatat()s for Tuprules.tup files, the open_notify() call is now in the fstatat wrapper.

Currently this allows the Windows version to build with both versions of mingw, but at somepoint the 4.5x version may be deprecated.
Fix t5055 - symlink should be pointing outside tup.

This was broken way back in 3e2f3531.
Fix color flags when using auto-detection.

In 390eb000 I broke the part that sets the enabled flags for stdout/stderr, so stderr was always disabled. This caused the command to no longer be highlighted in read when it fails. Unfortunately this is difficult to test automatically, since redirecting the output to a file causes a different command path to execute.
Added t8072, t8073, t8074 - generated -> normal file with variants.

This is basically t6053, but now we have a variant in the mix. With a variant we don't trigger the usual logic, which is just checking that the generated file has a newer timestamp when the rule is removed. Instead we have to look for a new file in the srctree to see if we should display an error message or not.
Added t8075 - manually created directories inside variants.

If a user manually creates a temporary directory inside a variant with a file in it, this shouldn't cause tup to complain. With a manual directory, the srcid is -1 since there is no corresponding source-tree directory, which tup was trying to check to see if the directory could be removed.
Added t2127 - use %d as a current directory name.

There was no easy way to get the name of the directory in the Tupfile, so if you wanted to name a library based on the directory name you would have to duplicate the information in the Tupfile. Tup already has this information though, so it is easy to expose using a %-flag. Note that only the lowest level directory is reported - it is not a partial path from the tup root, and certainly not a full path. It can just be used as a handy way to name things based on the directory name in macros.
win32: Fix t5077 to not track dependencies on directories.

The fuse fs was dropping dependencies on directories, but in some cases (FindFirstFile), Windows was not doing the same. This was causing problems because some commands were getting dependencies on common directories, so any changes to Tupfile or Tuprules.tup in those directories was causing all commands to be re-executed. It is not quite as easy to ignore directories in the FindFirstFile wrapper, so instead both fuse and Windows now report directory accesses, and they are dropped in add_node_to_list() if we know the tent is a directory.
fdopendir wrapper: Close the file descriptor.

fdopendir() on Linux takes ownership of the file-descriptor, so we don't close it ourselves. In the OSX wrapper, we get the full path and call opendir() on it, but we left the file descriptor open. This would quickly cause errors as too many fds are open.
win32: Adjust spacing in progress bar so extra blank lines are not inserted.

When printing exactly 80 characters, Windows scrolls to the next line, so a '\r' doesn't go back to the beginning anymore. Just go to 1 less character instead.
win32: Add FOREGROUND_INTENSITY to colors.

The defaults are kinda hard to read (especially the blue used by running commands), and this makes it a little easier.
Added t4076 - fix 'sed -i'.

When sed is run with the -i flag, it creates a temporary file using mode 000. If create() is not implemented, then fuse tries to do mknod(file, 000); open(file), which fails because it doesn't have permissions to open the file anymore. Tup needs to implement the create call so this occurs as a single operation and sed is happy.
Return an error code of 1 instead of -1.

Some installs of MinGW treat -1 as 0, so things succeed when they shouldn't (like 'tup monitor_supported'). The actual return value doesn't really matter, so long as it is treated as an error.
Added t2128 - allow preloading other directories for readdir() in run-scripts.

Normally run-scripts can only readdir() in the current directory, since we have no idea what the state of other directories is (files may be built in them, or not). Now the preload keyword can be used to force parsing other Tupfiles that we want to look at, so tup can know the directory state when the script executes.
Added t2129 - preload should be relative to the included file.
Parser version 6: Finish preload keyword. Added t2130.

Make sure that when we preload, we load the subdirectories as well as the normal and generated files.
win32: Reset the console before quitting.

If you set a different background in the console, tup should restore to that setting when quitting. It's a bit difficult to get tup to match the settings, but this at least preserves the user's preferences.
win32: Make failed commands have red background with intensity.