adding deadline to ApplicationSubmissionContext

proto and extracting deadline from job conf before submitting
adding deadline to SchedulerApp

updating schedulers to copy deadline from AppAddedSchedulerEvent into
the created SchedulerApp (actually, it's stored in the AppSchedulingInfo
appSchedulingInfo field).
adding note about the Fifo applications store

formerly called applications, changed to applicationsQueue to reflect
how it really works
adding EDF scheduler without preemption
using fifo as fallback for equal deadlines
rename fifo -> edf in EdfScheduler
changed PriorityQueue to TreeSet

PriorityQueue does not actually iterate properly
fixing some rebase problems