[FIX] replace exception handling with proper check

in ff centroided the precondition of findNearest was handled by adding
a try/catch around it instead of properly checking the pre-condition
itself. this commit replaces the try/catch with a corresponding check
[TEST] CubicSpline2d eval() at input nodes tested
[FIX] fixed try/catch misuse for findNearest also in MassTraceDetection
[FIX] addendum to 8fef18dda7b904850981f303ec5964eb5826a5b2 (findNearest - try/catch - fix)
Merge pull request #911 from aiche/fix/ff-centroided-exception-miuse

[FIX] FFCentroided replace exception handling with proper check
[INTERN] lower bound index fixed
[DOC] comments added
Merge pull request #914 from lars20070/fix/CubicSpline2D

[FIX] fixed index computation in CubicSpline2d::eval and CubicSpline2d::derivatives
fix MSVC warnings (mostly pragma); new IDMapper method for featureMaps; O(n) mapping for IDMapper::annotate (O(n*n) before)
better documentation of IDMapper internals
Merge pull request #916 from cbielow/AMT

[FEATURE,BUILD] IDMapper extension for featureMaps, IDMapper speed improvements, small build system fixes
AccurateMassSearchEngine annotation of input map (not only mzTab output); cleanup of related code (const, duplicated code, inefficient code...); some more documentation
small fix
[NOP] coding style improvements
mzTab-like terms for meta values; consistent use of smooth intensities (crashes otherwise, if switched off); minor fix for FuzzyStringComparator (when testing multiple times, reporting would stop after first call)
gcc fix
Merge pull request #917 from cbielow/AMT

AccurateMassSearchEngine annotation of input map (not only mzTab output)
[FIX,TEST] fixes failing SequestOutfile_test when running with libc++

 * libc++ seems to handle self assignment of std::map a bit differently which leads to a failing test
[FIX] MRMDecoy uses std::random_shuffle which works well with VS and libstdc++ but not libc++

 * libc++ has a different implementation of std::random_shuffle which leads to a different output
 * the c++ standard actually does not define the exact behaviour of std::random_shuffle so it seems to be our problem to handle it
 * I replaced the call to std::random_shuffle with the implementation from libstdc++
[DOC,NOP] added another comment giving some more details regarding the swapping intervals