Rampantmonkey gpu autodetection

Wrap nvidia-smi (a binary for managing NVIDIA gpus which is shipped with the linux driver) to determine the number of GPUs available.

Incorporated automatic detection in work_queue_worker.


Supersedes #308