PostProject Build Dependencies

This PR adds support for "PostProject" build dependencies for external projects in the .sln files.

You would do this in your `<ExternalProject>` references:

```
  <Platform Type="Windows">
    <Project 
      Name="SomeOtherProject"
      Guid="27EC69DA-9B49-44E9-ACCB-AB3A3877400B"
      Path="Some\Path\To\SomeOtherProject.csproj">
		<PostProject Guid="73E143CF-7BB5-4EAA-B952-F9DBCEA7FB76" />
    </Project>
```

... then in your solution file you'll get a `ProjectDependencies` section:

```
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SomeOtherProject", "Some\Path\To\SomeOtherProject.csproj", "{27EC69DA-9B49-44E9-ACCB-AB3A3877400B}"
	ProjectSection(ProjectDependencies) = postProject
		{73E143CF-7BB5-4EAA-B952-F9DBCEA7FB76} = {73E143CF-7BB5-4EAA-B952-F9DBCEA7FB76}
	EndProjectSection
EndProject
```


Note also while I was submitting this I fixed the incorrect whitespace in GenerateSolution.xslt.  VisualStudio expects tabs and not spaces within a .sln file.  This means that changes to GenerateSolution.xslt need to be very careful to use tabs within any `<xsl:text>` sections.  If you don't... VS will see the .sln as "dirty" and resave it causing "Mixed Platforms" configurations to appear even when they are not needed.