core/germline.{h,cpp}: each Germline store f_reps_[345] lists, new constructor

One may want to use several V (or D, or J) files for a unique germline, for example with TRDV + TRDD(D2).
(Now only the last file is really stored and indexed, but this will change soon.)
core/germline.{h,cpp}: factorize the three Germline constructors with Germline::init()
core/germline.{h,cpp}: remove unused MultiGermline(string) constructor
vidjil.cpp: takes several -V, -D and -J options for "custom" germline

(Now only the last option of each is really stored and indexed, see 1a05fe6.)
ArrayKmerStore: Factorisation of duplicated code

One could use constructor delegation for an even better factorisation but it
is C++11 only.
align.cgi: Use mkstemp instead of tmpnam
align.cgi: cstdlib already included no need for stdlib.h

C++ code should prefer cstdlib over stdlib.h
align.cgi: Use core/json.h to create output
Fasta: add() method to add other sequences to a Fasta object

The constructor now uses the add() method which, itself, relies on the >> operator which has been overloaded.
Unit tests added for the add() method.
core/windows.{h,cpp}: remove unused getters
core/representative.{h,cpp}: remove unused setters/getters
vidjil.cpp: -D now really implies -d, including for -w/-m/-M default values
vidjil.cpp: update help, clarifying -d
tests: testing -V/-D/-J and -s explicit options
core/fasta.{h,cpp}: default constructor also takes extract_field and extract_separator, factorize constructors

Even if we start from an empty Fasta, we should remember these values.
core/fasta.cpp: Fasta::add() also prints some message on stdout
core/germline.cpp: uses Fasta::add() to initialize germlines with several files

096ab90 unleashes the power of 1a05fe6 and 422964c.
split-from-imgt.py: creates .fa files with some special sequences

Dd2 and Dd3 may play interesting roles.
tests: testing multiple -V/-J options on simulated Dd2 and Dd3 recombinations