Remove unused classes and slightly change the API of DAG dynamic scheduler to make it resilient to changes
1. Cache manager fix: it no longer ignores cached files. Now cached files are transferred with duration of zero second. 2. Fixed bug when tastask's files were removed during subsequent simulation runs. 3. Refactoring to make classes safer to use: make them final/abstract whenever possible and use immutable collections for fields.
EnsembleDynamicScheduler refactoring to delete dulpicate code and make it safer to use.
1. Safety preconditions to ensure application state during runtime.
2. Return immutable lists on getters to ensure that they're not changed outside of a class.
3. Race condition fix while launching VMs.
Remove Environment.getTransfersPredictedRuntime(...)

and use Environment.getStorageManager.getTransferTimeEstimation(...)
instead.

(As requested by Bryk.)
Merge pull request #135 from davidshepherd7/avoid-environment

Avoid using the Environment class where easily possible because it forces homogeneous VM types
Merge branch 'master' of github.com:malawski/cloudworkflowsimulator
Dont use Java8 generic type interference to make project compile on Java7
Remove unused imports.
Merge remote-tracking branch 'malawski/master' into working

Conflicts:
	vms/amazon.vm.yaml
Merge remote-tracking branch 'malawski/master' into working