listconf.c: Rewrite the formats list function. It was overly complex and buggy.
Add format groups "opencl", "cuda", "cpu" and "gpu" for use with --test as
well as with things like "--list=formats" and so on. Also allow wildcard in
the end, as in wpapsk* or krb5*.

./john --test --format:opencl

./john --list=format-all-details --format:pwsafe*
listconf.c: Suppress leading space in benchmark_comment.
Document --format group aliases/wildcards.
pwsafe-opencl: Some platforms will complain unless OpenCL functions are static,
inline or both.
Put Sayantan's format last in registration, until they are fixed.
Fix for Sayantan's formats.
PWSafe-opencl: Fix a bug where device max sizes were not queried for all
kernels (now that we use a split kernel).
OpenCL DES: Honour device limit for LWS.
Move salt transfer to set_salt() for sha256crypt.