Use shutil.move rather than os.rename to prevent errors like invalid cross-device links

These can occur under specific circumstances in clustered environments.

These can occur for examnple when using bcbio-nextgen and a different temporary directory, per-node, when gemini is instead run on another shared FS.