Scrypt-nfactor support!

Added new configuration parameter "nfactor", which defaults to 10 (normal scrypt).
Use 11 for vertcoin.

Kernels modified accordingly.
Update sgminer.c & scrypt.c

Default opt_nfactor was 11 instead of 10, my typo.. :) Sorry.

scrypt_1024_1_1_256_sp renamed to scrypt_n_1_1_256_sp
Merge remote-tracking branch 'dadiv/zuikkis-nfactor' into nfactor
ocl: use same type convention for nfactor (`cl_uint` instead of `int`).
ocl: vectors are hard-set to 1, add appropriate "optimisation".
ocl/misc: spacing.
ocl: use 'nf' instead of 'n' in compiled kernel binary name.

It is used as a factor number here (e.g. 10, not 1024).
scrypt: remove commented-out magic numbers.
misc: add FIXME for scrypt_test() and scanhash_scrypt().
ocl: rename nfactor to N where appropriate.

N = 2^nfactor, so `nfactor` was a bad name choice here.
kernel: use N-factor table instead of passing parameter N directly.
misc: fix spaces after closing parenthesis.

sed -i 's/) $/)/' *.cl
algorithm: initial structure definition.
algorithm: initial set_algorithm() and set_algorithm_nfactor().
config: add `--algorithm` option and documentation.

Doc in `doc/configuration.md` (has to be started sometime, no?).

Configuration function has to be lamely-named set_algo(), because
set_algorithm() is already declared in algorithm.h (prevent namespace
conflict).

algorithm has to be added as global variable due to the way the
callback is done (by CCAN/opt, which in itself is nice).

This can be cleaned up significantly by (at least) introducing a
global configuration struct, but there is no reason to do it now
just for this - better a wholesale manana.
config: introduce set_nfactor() and use it to call set_algorithm_nfactor().

Had two bugs:

1. Will not compile due to unknown algorithm_t size.
2. nfactor is set to 0 (bad calling, fix later).

So squashed two commits:

1. algorithm: move algorithm_t definition to header.
2. config: if --nfactor is specified, properly set algorithm->nfactor.
core: use global algorithm structure instead of opt_nfactor.

Also squashed:

config: add log messages to set_algo() and set_nfactor().

algorithm: use set_algorithm_nfactor() when setting default nfactor in set_algorithm().

Otherwise algorithm->n defaults to 0.

P.S. Did I already mention how this could have been C++?..
core: set default algorithm for when neither --algorithm nor --nfactor are provided.
doc: update configuration.md with latest on --algorithm and --nfactor.

Should close https://github.com/veox/sgminer/issues/126
Added algorithm.* and inttypes.h for MSVS build