Placement Policy API

1. Added PlacementPolicy API. Only supporting DISTRIBUTED runnables for now.
2. Allocating Containers for one runnable instance at a time, instead of grouping them together based on Resource Specs. 
3. Added blacklist support for DISTRIBUTED PlacementPolicy. 
4. TODO: Implement PlacementHints (added placeholder). 
5. Added PlacementPolicyTestRun Class with a method testDistributedPlacementPolicy to test the current implementation.

Gourav
Thanks, changing it to Map.
I'm not sure if I see the indentation problem here. Are you talking about changing - 
public static void addAllocationSpecification(
 +                                             AllocationSpecification allocationSpecification,
 +                                             HashMap<AllocationSpecification, Col

to - 
public static void addAllocationSpecification(AllocationSpecification allocationSpecification,
 +                                                                   HashMap<AllocationSpecification, Col
?