Minor code re-organization to do the following:
- The OpportunisticContainerAllocatorAMService currently allocates outside the ApplicationAttempt lock maintained by the ApplicationMasterService. This should happen inside the lock.
- Refactored out some code to simplify the allocate() method.
- Removed some unused fields inside the OpportunisticContainerAllocator.
- Re-organized some of the code in the OpportunisticContainerAllocatorAMService::allocate method to make it a bit more readable.
- Moved SchedulerRequestKey to a new package, so it can be used by the OpportunisticContainerAllocator/Context.
- Moved all usages of Priority in the OpportunisticContainerAllocator -> SchedulerRequestKey.