ThreadPool::GetPoolSize () fCriticalSection_ simplifications (and todo comments)
change declations of std::function to just function<> and replace many uses of function with new Execution::Function so we can add/remove callbacks (just places we need to track callbacks and add/remvove)