First effort towards implementing MultiLevelQueue.

The interface for the scheduling algorithms has been defined and
included as one of the core components of a process Queue.

Each process Queue is a list of processes on which a scheduling agorithm
is applied every time a new process is included. Whereas a
MultiLevelQueue is a list of queues with different scheduling algorithms
implementation.