Add support for MSVC IDE variant mappings that include subvariants

For example, in your MSVC generation hints, you can now write:
VariantMappings = {
  ['release-default']    = 'Release'
  ['release-analyze']    = 'Release-Analyze',
}
...and you'll get a Release and Release-Analyze configuration in your IDE.

One could already achieve this with the FullMapping hint, but that forces
one to enumerate all build configurations, which is tedious when the
number of configurations is high.
Merge pull request #221 from benharper123/master

Add support for MSVC IDE variant mappings that include subvariants
pkgconfig: Attempt to pick up OS X frameworks
Don't link static libs with other static libs.

On Windows this creates duplicate symbol problems.
MSVC6: Fix PDB write errors.

Without extra care and temporary files each MSVC6 compiler process will attempt
to open/write the same PDB, causing build errors when Tundra goes wide.

So it seems better to just have it stuff the debug data in the object files and
let the linker worry about producing a PDB. This change does that.
Fix linking against DLLs when Target is overridden
More robust linking with shared libraries.

Because we've interpolated the string, we need to pick off "lib" and
pass -lfoo for libfoo.so/.dylib to make UNIX tools happy.
Merge branch 'master' of github.com:benharper123/tundra into IMQS
Merge branch 'master' into IMQS