add deploy:cleanup_lingering_releases task

Adding a new task for cleaning up lingering releases. Detailed comments as to its purpose in the code.
So the case i'm talking about here is like this:

server 1: 
/releases/1(tag = a)
/releases/2 (tag = b)
/releases/current -> /releases/2

server 2:
/releases/1 (tag = a)
/releases/2 (tag = b)
/releases/current -> /releases/2

bundle exec cap HOST_FILTER=server1 update_code s=c

server 1: 
/releases/1 (tag = a)
/releases/2 (tag = b)
/releases/3 (tag = c)
/releases/current -> /releases/2

server 2:
/releases/1 (tag = a)
/releases/2 (tag = b)
/releases/current -> /releases/2

bundle exec cap deploy s=some-tag

server 1: 
/releases/1 (tag = a)
/releases/2 (tag = b)
/releases/3 (tag = c)
/releases/4 (tag = c)
/releases/current -> /releases/4

server 2:
/releases/1 (tag = a)
/releases/2 (tag = b)
/releases/4 (tag = c)
/releases/current -> /releases/4

bundle exec cap deploy:rollback then causes /releases/3 to be picked as the last release, and both servers will have this symlinked as current. With the changes I've made, on the deploy /releases/3 will be removed from server 1.