Basic exclusion support for analysis nbsearch

Add support for setting exclusions for AnalysisNeighborhood-based
searches.  Required for some functionality in gmx rdf, and the interface
is focused on satisfying that need.  Efficiency could potentially be
improved, as well as sanity checks on the input.  Now that the basic
machinery is there, it can be extended and the implementation improved
without hopefully affecting calling code significantly.

Change-Id: Ia667ee61ed1bb3d1171c22d7752f22517b3ccda8
Make vec.h const-correct with both C and C++

C and C++ have different semantics for const if a function parameter has
multiple indirections (e.g., a double pointer or a 2D array).  If such a
parameter is not modified by the function, it is tricky to write
const-correct code using such functions:
 - If the parameter is declared const, then C will give a warning if a
   non-const value is passed.
 - If the parameter is not declared const, then C++ will give an error
   if a const value is passed.
Added a macro that allows using a single declaration in vec.h for
functions that take matrix values as input parameters, and still making
it possible to pass both non-const and const values to such parameters
in both C and C++.

Change-Id: Ifca3ff6842489c3a1040a8261ba429d96409fc21
Improve initAfterFirstFrame() usability

The initAnalysis() function was changed a long time ago to take the
analysis settings as a parameter, to make it easy to use those values in
initialization without storing them in local variables.
Do the same for initAfterFirstFrame(), now that there is a tool in
pipeline (gmx rdf) that would actually use this function and sees the
same issue there.

Change-Id: Ib10abb3790ac5472070edc76155cfa50cce96541