Limit the number of autocalculated core workers.

When no value is given for check_workers in the configuration, the
"number of CPUs * 1.5" autocalculation can result in an excessive number
of workers on machines with a large number of schedulable cores. We now
set a maximum of 48 autocalculated workers.

This alse ensures specialized_workers is set to NULL after destroying
the table to avoid leaving a dangling pointer, and returns an error from
init_workers() if allocation of the specialized_workers table fails.

Reported-by: Janice Singh
Signed-off-by: Eric J. Mislivec <emislivec@nagios.com>