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.