First revision of testing for different tunable costs among hashes

The following functionality is supported:
-listing format specific tunable cost parameters
 in --list=format-details and --list=format-all-details
-format specific functions to calculate tunable costs per salt
-check loaded hashes for differences in tunable cost values,
 print warning messages to stdout and to log file if such
 differences are found
-filter salts based on --costs= (works similar to --salts=,
 except that values or ranges for cost parameters can be
 specified in a comma separated list:
 --cost=-2 (cost of first cost parameter must be smaller than 2)
 --cost=2,10:20 (cost of 1st parameter is >= 2, of 2nd between 10 and 20)
 --cost=:,10:20 (first cost parameter ignored, 2nd between 10 and 20)
 --cost=:,-3 (first cost parameter ignored, 2nd smaller than 3)

Currently, up to 2 tunable cost parameters are supported.
This can easily be adjusted by increasing FMT_TUNABLE_COSTS.
Cost values are unsigned int.

Format version bumped to 12, but just reverting it to 11
disables all the changes.

All formats have been adjusted so that they work with
FMT_MAIN_VERSION 11 and with FMT_MAIN_VERSION 12.

But most formats don't yet report tunable cost parameter and their
values per salt.
The only exceptions so far are:
Format label                         bcrypt
Tunable cost parameters              iteration count

Format label                         crypt
Tunable cost parameters              algorithm [1:descrypt/2:md5crypt/3:sunmd5/4:bcrypt/5:sha256crypt/6:sha512crypt]
                                     algorithm specific tunable cost

So, since --format=crypt --subformat=... only works for --test,
you an use --format=crypt --costs=2 to pick md5crypt hashes.
The 2nd tunable cost for --format=crypt currently is a dummy,
always returning exactly the same ost as the 1st parameter.
My intension is to return the subformat specific tunable cost parameter
(i.e., iteration count) in a later revision.

$ ./john --format=bcrypt bcrypt.hashes
Loaded 13 password hashes with 9 different salts (bcrypt [Blowfish 32/64 X2])
Remaining 12 password hashes with 8 different salts
Loaded hashes with cost 1 (iteration count) varying from 16 to 256
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:05 70.79% 1/3 (ETA: 16:35:21) 0g/s 553.5p/s 553.5c/s 1203C/s #3#..$3$
Session aborted

The "Loaded hashes with cost 1 (iteration count) varying from 16 to 256" line
appears only if the remaining loaded hashes differ in their tunable cost.
E.g., if there are only 2 different cost values, and all hashes of the lower
cost value have already been cracked, the line doesn't appear.
Merge pull request #558 from frank-dittrich/bleeding-jumbo

First revision of testing for different tunable costs among hashes
Reduce chatter
Let 9 more formats report tunable cost values

sha256crypt
sha256crypt-cuda
sha256crypt-opencl
sha512crypt
sha512crypt-cuda
sha512crypt-opencl
PBKDF2-HMAC-SHA256
PBKDF2-HMAC-SHA256-opencl
SunMD5
Merge pull request #559 from frank-dittrich/bleeding-jumbo

Let 9 more formats report tunable cost values
Reduce more unnecessary output (encoding stuff).
Typo in usage for -costs. Untabify and add missing paren.
Rexgen update. This is for SVN rev 113 of rexgen, WIP.
Tunable cost values for 7z and keepass
Tunable cost values for skey format (S/KEY)

This is a separate patch because I cannot even compile-test
this change.
I can't set HAVE_SKEY, because I don't know what library to install.
Not even on bull I can find skey.h.
That's why make it easy to revert this change just in case it breaks
anything.

1st tunable cost: hash type - 1:MD4 2:MD5 3:SHA1 4:RMD160 0:unknown
2nd tunable cost: iteration count
Tunable cost values for agilekeychain and aix-ssha* formats
Android FDE format: remove unneeded and misleading components from salt definition

Custom salt definition included components like "iterations", but didn't
acually used them.
Tunable cost for bitcoin format
blackberry-es10: remove component "iterations" from salt definition

That component was unneeded and misleading.
7z-opencl: prepare for FMT_FORMAT_VERSION > 11 even if broken

No reporting of tunable costs, just make sure it compiles for
any FMT_FORMAT_VERSION >= 11 if soneone decides to fix the issues
this format apparently has (otherwise, why would it be in
src/broken).
Tunable costs for cloudkeychain and Django
BF_std.c: Fix a typo in a comment
cloudkeychain: tunabme cost name "iteration count" instead of "iteration_count"
Bugfix for tunable costs. You must not put anything after salt->keys
due to optimizations. Solar should have commented on that in the header.
Merge pull request #561 from frank-dittrich/bleeding-jumbo

Report tunable costs for more formats, remove unused fields from salt definitions,  fix a typo in a comment,