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
getNode gives the host:port of the NodeManager on which container was assigned. getHost gives the host of the corresponding NodeManager. 
getNode is not being used right now. I added it for the sake of completion since it is also present in Yarn Container class - http://hadoop.apache.org/docs/r2.3.0/api/org/apache/hadoop/yarn/api/records/Container.html

Should I remove it ?