Correctly check if multiprocessing is supported
Correctly check if multiprocessing is supported

The fix in 0b0f0b925c69abb29328b169e57e782653062aa0 wouldn't work as
mp was still used unconditionally in

    if processors <= 0:
        processors = max(1, mp.cpu_count() - processors)

even though the mp import was conditional.

This also removes the bad practice of catching generic exceptions like
NameError, which in this particular case would also catch any such
exceptions raised by the user-provided jobs generator.

santoshphilip/eppy,santoshphilip/eppy,santoshphilip/eppy