Duh.
Add IBRUN detection.
Some more ibrun boilerplate.
Major overhaul of agent for multicore support.

Status:
Can run tasks (again), but many rough edges.

Detailed changes:
- New slots data structure layout.
- Separate list of running processes and function to check for completed tasks.
- Inverted mainloop from slots to tasks.
- Added functions to search for free slots in both single and multi host
  scenarios.
- Separate functions for slot free/busy updates.
- Moved back to single ExecWorker
- Changed default debugging level

Need to further abstract away the launching of tasks from slots layout.