DevAPI: add_cgpu: There is no need to hold mutexes while creating devices
Move *.drv_detect calls to a new drv_detect_all function
Move cgpu_info allocation to new allocate_cgpu function
Move cgpu startup routine to new start_cgpu function
Move devtype default assignment to allocate_cgpu
Move more cgpu initialization to allocate_cgpu
DevAPI: Modify add_cgpu to use temporary devices_new array, so detection can be done without touching live variables
Split out per-cgpu temperature configuration code to load_temp_config_cgpu
New (internal) scan_serial function to probe for new devices at runtime
RPC: "devscan" command to probe for new devices
Add serial port claiming logic to avalon, bitforce, and modminer drivers
fpgautils: serial_claim: Include a bus enum in hash key
fpgautils: Replace serial_claim with bfg_claim_serial using a more cleanly extensible interface and implementation
fpgautils: Implement bfg_claim_usb for claiming devices by USB bus number and address
x6500 & ztex: Claim USB devices
fpgautils: Check for devices being claimed before calling detectone from autodetectors
ft232r & libztex: Skip probe of claimed devices
cpu & opencl: Respect scan-serial auto/noauto instructions
cpu & opencl: Refuse to detect more than once

Rationale: No hotpluggable CPU & GPU support, and no claim/conflict detection
Bugfix: cpu: Update device "kernel name" with auto-selected algorithm