[FEATURE] change file format of cached files

- write spectra and chromatogram number at the end of the file
- allows to start writing spectra without knowledge of the number of
  data to write
- [DOC] fix output
[DOC] clearer documentation
[API] simplify API of MSDataCachedConsumer

- it is now longer necessary to know the number of spectra and
  chromatograms beforehand
[FIX #806] ConsensusID

TOPP ConsensusID FileType idXML:
- after reading a peptide identification, sort their peptide hits with assignRanks()
- set the score type and the higherScoreBetter flag in the final peptide identifications before apply consensus

ConsensusID:
- ranked:
	- read the score_type information to write it into the output file
	- set higherScoreBetter = true, to recognize it easier that it should be true
	- setScoreType with Consensus_ranked instead of Consensus_average

- PEPMatrix_, PEPIons_: raise error if higher_better == true instead of false

Check if score type and higherScoreBetter are equal in all peptide identifications (average_, PEPMatrix_, PEPIons_):
move the check to the peptide identifications loop instead of the peptide hits loop, because only peptide information is needed for the check.

Test:
- ConsensusID_1: instead of average is ranked
- ConsensusID_4 (algorithm "PEPMatrix_"): test if the peptide hits are sorted

modified:   ../src/openms/source/ANALYSIS/ID/ConsensusID.cpp
modified:   ../src/tests/topp/CMakeLists.txt
modified:   ../src/tests/topp/ConsensusID_1_output.idXML
new file:   ../src/tests/topp/ConsensusID_4_input.idXML
new file:   ../src/tests/topp/ConsensusID_4_output.idXML
new file:   ../src/tests/topp/ConsensusID_4_parameters.ini
modified:   ../src/topp/ConsensusID.cpp
[FEATURE] ConvertTSVToTraML: Support for SpectraST MRM Transition Lists
[FIX] fix error from 5b5bb90673145db3dd21927c591f2b925ca55a6a
[FIX] cleanup, add documentation
Implemented feedback from hroest
Merge pull request #1 from hroest/fix/small_fix

[FIX] fix error from 5b5bb90673145db3dd21927c591f2b925ca55a6a
Implemented further feedback
[FIX] add DLLAPI to two functions

- these two explicit template initializations are only ever included in
  BaseModel.cpp and are thus part of the library. To be visible to the
  client, they need to be exported explicitly (they are used in
  CONCEPT/Factory.h)
[FIX] add DLLAPI to assignment operator

- since the assignment operator of ToolDescription is available through
  the API, it also needs to able to assign ToolExternalDetails which
  contains a MappingParam object.
[FIX] add DLLAPI to two functions
[BUILD] turn on -fvisibility=hidden for gcc
[BUILD] disable -Werror by default

- configure travis to use -Werror in gcc to check all incoming pull
  requests
- Werror does not seem to work on all configurations reliably (e.g.
  exclusion of system libraries) and changes from one compiler version
  to another make this not a safe option for an initial compile of
  OpenMS
[FIX] fix dereference of iterator

- vector iterator front() is not dereferencable if vector is empty
- thanks to @aiche for finding the error!
[FIX] fixed reading of empty spectra
[NOP] fixed indentation
[FIX] fixed access to non-existing elements during median computation
[FIX] fixed UniqueIdGenerator_test, derefenced end() iterator