Changed manner to choose RMSD version

TYPE=OPTIMAL is the old version
TYPE=OPTIMAL-FAST is the new version

Notice that the new version only works with align==displace.
Also notice that old/new version give inconsistent results when weights which are not all equal (or zero) are used. This is something that will be fixed
soon in the old version.

The new version is only used in a couple of regtests, since it still have some problem of numerical stability
Renamed Ratchet -> ABMD
Heavier regtest
Faster MSD
Numerically safer version of fast RMSD

It is automatically used whenever it is expected to produce
results identical to the old version. Thus, old version is still used
only when align!=displace or when not all align!=0 are identical

It is still possible to enforce non-safe (faster) version with
OPTIMAL-FAST.
Merge branch 'fast-msd'
Fixed a number of errors in the checks performed when vessels/multicolvars are compiled without the -DNDEBUG flag
Small change in lib/Makefile.

Without this change the code was compiling on RGPs local machines
Fixed problem in SIMPLE RMSD

It was not doing proper center-of-mass fitting. Now it also implements
the case with displace!=align. Corresponding regtest has been fixed,
and rt14 has been slightly changed (with new numbers it was not meaningful).
Fixed numerical derivatives for virial

The virial computed with NUMERICAL_DERIVATIVES was transposed
wrt to the analytical one. Fixed now.
Fixed many warnings

Mostly unused variables
Another small optimization in RMSD
small change in documentation
patch tool: now --root works
namd2.9 patch
improved doc in rmsd
Some small changes to core of MultiColvar and Vessels

I want to reuse stuff from these classes to do some other things and
I needed to make a few small changes to make the new things work.
Added rotine to read atoms list keywords

In multicolvar if you have a list of sets of atoms in each colvar
i.e ATOMS1=1,2 ATOMS2=3,4 ATOMS3=5,6 you can now replace the ATOMS
with another word and use the same functionality.
Improvements to the way that multicolvars in a subregion of the box are calculated

Previously it was only possible to calculate the average value of the multicolvar
in a part of the box.  Now you can calculate the distribution inside the box.
This means you can use the functionality in ActionWithVessel to calculate the minimum,
the number of colvars less than, number of colvars more than and so on.

Small changes to core headers are changes to make certain routines virtual so that I
can replace them in derived classes
Small updated in documentation