Merge pull request #175 from Sayantan2048/bleeding-jumbo

mscash2-opencl:added multi-gpu interfaces,bug fixes
Minor OpenCL/CUDA tweaks. Enable advance_cursor() for CUDA-only builds too.
Also some typos:
git grep -il tunning | xargs sed -ri 's/([tT])unning/\1uning/g'
git grep -il plataform | xargs sed -ri 's/lataform/latform/g'
OpenCL: Change the -DAPPLE for OpenCL build options to -D__APPLE__.
Bugfix for "make generic".
Commit 04cf5f1 hurt performance for dynamic because data locality suffered.
This patch reverts it and use a union instead, to satisfy the compiler.
Relbench: Ignore the new "All nn tests passed self-tests"
Single mode: Optionally load the full GECOS field (before splitting) as
one extra candidate. This is controlled with PristineGecos in john.conf
(and defaults to disabled).
Use list_add_unique() for the optional PristineGecos loading.
Add a john.conf option for over-riding SINGLE_WORDS_PAIR_MAX.
opencl-mscash2:no segfault when mixing devices with large difference in speed