Scripting: Clean up locals after break/continue

The implementation of break and continue previously did not account for
local variables being declared inside a loop. Break and continue now
write commands to free all locals before jumping out of a loop. Note: We
don't remove their symbols here as this happens on the loop's closing
bracket.
Common: fixed return values for two StrUtil::StringToInt functions
Common: corrected the logic of String::LeftSection() and RightSection()

This makes LeftSection and RightSection methods treat the whole string as one field if no separator was found, to comply to how FindSection now works.

Complements 58ebdab0e491d065debfdec9b445e02de97abb6b.
Fixed BuildTargetWindows not copying all files from Compiled folder
Fixed 'Use legacy compiler' being totally broken
Fixed hard link code for non-admins

Previously an error was being raised if a non-admin attempted to change
the security permissions for some files. Instead these permissions are now
set all at once after compilation is completed (AGSEditor.cs, ln 951).
This should attempt to raise a UAC prompt if needed, and will just
silently fail to set permissions on error.
Merge pull request #217 from monkey0506/editor_platforms

Game compiler fixes
Merge pull request #215 from gurok/340_clean_up_locals

Scripting: Clean up locals after break/continue
Editor: fixed running game setup built with legacy compiler
Merge branch 'develop-3.4.0' of https://github.com/adventuregamestudio/ags into develop-3.4.0