Monitor improved: now it detects failures and new workers joining (based on information from the Condor master, condor_status)
Major functionality upgrade. New features include:
launching additional workers (threaded; AdditionalWorker class in monitor.py), additional worker thread management,
blocking clouds when additional workers are booting, additional worker contextualization (fixed and tested),
failure simulator improved (only kills VMs that are Condor workers that have checked-in with a master)
remote command execution fixed (cache erased every time), workpool class for determining in which cloud to add
an additional instance, actuate method in monitor class for Policy #1 (replace an instance when a failure happen
by adding a new instance in the most favorable cloud)

Lots of files changed:
	modified:   downscaling.py
	modified:   etc/failuresimulator.conf
	modified:   etc/workers.conf
	modified:   lib/config.py
	modified:   lib/util.py
	modified:   resources/clouds.py
	modified:   resources/failuresimulator.py
	modified:   resources/initialmonitor.py
	modified:   resources/monitor.py
	new file:   resources/workerpool.py
	modified:   resources/workers.py

The code seems to be working fine after 2 days of instense effort put into debugging.

Lesson learned:
Don't do any coding when tired: debugging terribly-written code will be terribly difficult and will take a long time!

Special thanks to Ali, who works hard on weekends and was able to catch several tricky problems:
- one in remote command execution (caching the context in the situation when the same IP is used several times for different actual VMs)
- another one (quite trivial but tricky) when assigning objects (a = b only makes the pointer for a point to the b's object and doesn't create an actual copy of b).
Merge pull request #13 from dmdu/add_worker_action

Add worker action (and many other improvements)