Make symlink:release an atomic operation

http://blog.moertel.com/posts/2005-08-22-how-to-change-symlinks-atomically.html
Remove -Tf options from mv

I may be incorrect in assuming that the -Tf in the mv command is what
prevents this from being a cross platform solution. This new method is
still replacing the symlink in an atomic way without requiring -Tf
Prevent collisions in the shared folder

A user may want to have a folder or file named "current" in their shared
folder. By creating the temporary symlink in a tmp folder in the
`deploy_path`, we avoid potentially overriding a user's "current" file.
Merge 'upstream/master' into atomic_symlink
Make the temporary symlink in the release path

This should avoid collisions without the need to create and destroy a
folder just for the temporary symlink.
Merge pull request #1097 from quixoten/atomic_symlink

Make symlink:release an atomic operation