Override the default threadpool size on Mono

On Mono only, we use the value of --mono-min-threadpool-size (or equivalent) to set the number of worker threads during startup, before this is dumped to the config. Setting the value to 0 leaves the machine defaults alone, or uses the MONO_THREADS_PER_CPU environment variable if this has been set.

This fixes issues #296 and various issues from the mailing list with elections cycles on single core or otherwise low spec'd machines.