Dynamic scheduler

Name kind of suggests it all.  This needs to be approved alongside with my recent Forge pull request or else everything will break.  For now just default to a static scheduler in C++, dynamic scheduling is available.