Added logic to return from the interrupt

   The interrupt will return to the scheduler only if a task was
  activated, otherwise it will return where it was.

   If a task was interrupted, and another task was activated,  the
  pc and sp values are stored in the task structure. Then it jumps
  to the scheduler.

   The ACTIVE_TASK_ID is set to an invalid value, before jumping to
  a scheduler instance.

   THE TIMER INTERRUPTS DOESN'T WORK YET: ANY TIME IT ENTERS IN THE
  INTERRUPT, THE NORMAL PROGRAM WONT BE ABLE TO CONTINUE

Signed-off-by: Emiliano Gibran Gonzalez Perez <haibrayn@hotmail.com>