Change the way the way things that have to call the scheduler interact
with it:
* Return a unique integer id from scheduler.register(), to be passed back
into other scheduler methods.
* Control handler unregistration with the handler's return value, like
some other frameworks do for similar callbacks.
* Add a SpawnProcess.reg_id attribute to store the id returned from
scheduler.register()
* Pass the SpawnProcess.reg_id value into scheduler.schedule() calls,
so the scheduler knows to return when the callback referred to by
the given id unregisters itself by returning False.
svn path=/main/trunk/; revision=10921