Add the ability to specify spare_slots in engine conf, and make UNSCHEDULED_PENDING processes be considered when calculating needs

Pretty simple, no changes to the store or anything like that.