Idle process, future mp compability, bug fixes

A mostly stable release that has a built in idle feature that takes over
whenever user input isn't being received. this involves running
currently scheduled tasks and possibly maintainence or other idle
background tasks.