Automatically download and install .NET 4.5 if necessary

Fixes #12.
If we exit early, we end up not cleaning up this file, instead of `return`, use the `goto out` pattern