Changes to ContentProject for Windows and debug symbols in release mode

Debug symbols in release mode are now controlled by the DebugSymbolsOnRelease property.  Previously debug symbols in release were enabled by default; they now default to off and can be re-enabled with `<Property Name="DebugSymbolsOnRelease" Value="full" />`.

Projects generated for Windows now flag their content project as `<Content>` instead of `<None>`, which has changed to assist usage with installers that automatically detect file build types.
Implement an early preview of submodule and package support

Resolvable submodules (aka. package management) is currently experimental
and is expected to contain bugs.  Do not use this functionality for any
real repositories as we expected to make breaking changes to this
functionality.
Show progress when downloading packages and modify binary package resolution

Protobuild now shows progress when downloading binary packages.  In
addition, it now opts to search recursively for the platform-specific
folder within folders when looking for submodules, instead of generating
a dummy module for binary projects.  This so that when it has two binary
versions for two platforms like so:

* TopLevel
* Package
    * Linux
      * ...
    * Windows
      * ...
* ...

It won't load in definitions from both Linux and Windows (the old way
would place Protobuild.exe in Package; this no longer occurs).  It will
now search Package/Linux for a submodule (when generating for Linux) and
will ignore Package/Windows (unless generating for Windows).
Add support for <NativeBinary>

The <NativeBinary> tag in external projects allows you to reference native libraries, ensuring that they are copied correctly to your application or library output directory on build.

See https://github.com/hach-que/Protobuild/wiki/References-and-Projects#nativebinary for more information.
Allow @branch syntax for adding Protobuild packages.
Implement package cache and fix bugs in package resolution
Use LZMA compression to compress Protobuild executable

This update modifies Protobuild to compress and extract it's own code at runtime (moving most of the code into Protobuild.Internal).  In addition, it adds the LZMA and FastJSON libraries (the latter to be used with the new package API).

This results in a new Protobuild executable size of 128kb, which is smaller than the previous 171kb.

Because of this process, the build is now a 3 stage process; the first pass which compiles the GUI manager and recompresses build resources, the second pass which rebuilds Protobuild.Internal and then compresses it, and the final pass which builds the Protobuild.exe file itself (with the compressed embedded Protobuild.Internal.dll).

I've also cleaned up the build scripts in general, removing and consolidating the build scripts.  I've removed the build scripts for Windows for now, but this is only because I work on Linux and don't have a Windows machine available to write an equivalent Batch file for the new process.
Update package management to handle new API format
Remove the old module manager GUI

This commit removes the old module manager GUI, which is not maintained and from personal experience, isn't very useful for setting up or configuring projects.  Even when it created the initial project template, it still required you to use a text editor to modify references and add files, something which can be done by reading the documentation instead (and the documentation is much more comprehensive).
Support both .tar.gz and .tar.lzma package formats
Restructure and clean up command execution
Implement --pack and fix --help commands
Fix various issues with packaging and add tests for them
Add tests for package filter functionality
Implement --push option for pushing packages
Fix issue with package format detection and add test
Fix issues with NativeBinary references
Fix issue preventing --extract-xslt from working correctly and add test
Implement support for project templates via --start
Prevent binary files from being mangled in project templates