Added preemption-centric interrupt accounting for dedicated interrupt handling.
TaskSet: removed tasksId

Goal: increase performance

Added profiling flags for gprof.
Taskset::setAverageExecCost: uncommented in LitmusExecutionTime::updateTaskSet

Goal: increase response time of daemon.
LitmusDecvice: re implemented iterating through overhead and scheduling
	       devices

Goal: Increase performance of daemon.
TaskSet::tasks  :  Using std::unordered_map instead of std::map

Goal: unordered_map internally uses a hash table, which has a better
access time (constant on average, linear in size in the worst case) than
map, which uses a red-black tree (logarithmic in size).
Class SchedulingTraceProcessor

Using std::unordered_map for registeredTraceRecords, registeredTraceRecords,
and registeredTraceRecords instead of std:map.

Goal: increase performance.
Class LitmusExecutionTime

Don't make schedulbility test whenever the taskset exhibits an increase in its
average execution cost; instead, make a schedulability test whenever a given
task exhibits an increase in its execution cost.

Goal: increase performance, as computing the average taskset execution cost is
expensive.