throw bad_stack_alloc when we can't allocate a new stack. add benchmark to count how many tasks can spawn before bad_alloc.
Trim back the template function usage for task spawning
std::function value semantics are fast enough for starting a task
cosmetic: consistent spacing for lambdas
clean up and document non/constness of address references
cosmetic: remove trailing whitespace
modernize sslsock
abandon pre-C++11 ifdef