Fixes for "deploy from Windows"
Use Freemaker raw strings for dynamic values. This will force Freemaker
to treat backslash and ${ as regular text.
The local system temp dir will be used on the entity's remote system. Instead hardcode some universal value ("/tmp"). Analogous to issue #1402.
Shouldn't we raise an error in the case where it is needed instead of passing an invalid path?
Replace ad-hock absolute path check with a method call. Rename existing isAbsolute method to isAbsoluteLocal to emphasize invalid usage.
Manual changes of the URL lead to an incorrect path on Windows.
Try to use the platform provided functionality as much as possible.
Manual URL manipulation leads to invalid results.

The test was working by accident on UNIX - with an absolute path the
beginning of the string would be file:///, which is the expected prefix.
On Windows though the result was an invalid URL. Use the platform
provided functionality to construct the URL and remove invalid
statement in the comment.
No manual path construction.

Use the correct constructor to create a child path.
Zip entries use UNIX style (relative) paths by standard.

Why the leading dot though?
No echo executable on Windows.

There is no echo executable on Windows, it is a command
provided by the shell. To test the process builder we need
OS-specific commands. The alternative is to include shell
scripts for both UNIX and Windows and call them with an
uniform command.
Fix check for Windows OS.

The format is "Windows XX", no microsoft in the name.
Add comments explaining the reason for the code changes.
Replace platform specific isAbsolute check with a common implementation with the tradeoff that it doesn't handle specific cases.
Fix dev mode check for Windows
Replace tilda with explicit home path reference to be compatible with Windows.
Replace static fallback folder which could be invalid in certain contexts with an invalid folder name which will cause errors when being used. The invalid name will hint the user at the potential problem.
Rewrite the .ps1 launcher script in windows batch script since powershell can't execute file scripts out of the box.
Reduce memory requirements to values which can be run in 32 bit Java on Windows.
Reduce GC stress, but still allow the tests to run on 32 bit Java.
New line and path separator related fixes to make the tests happy.
Use platform specific path separator for private key paths.

The path separator used (":") could be a part of a path on Windows, replaced with a platform specific delimiter.