Split functionality for ActionVolume

This split means that we can reuse many things to calculate gradients
Added gradient collective variable
Added DFS clustering variable
Separated part of bridged multicolvar function so it can be reused
Bought bridging multicolvar function under auspices of MultiColvarBase
Added multicolvar functions that allow one to filter by value

These actions allow one to calculate things like the mean coordination number
for those atoms that have a coordination number higher than 3
Made it so that elements in stores can be inactive
DFS clustering with colvar filtering
Added new cubic switching function

This is the switching function from this paper
http://journals.aps.org/prb/pdf/10.1103/PhysRevB.81.125416
Fixed DFS clustering so it works with mpi
Merge branch 'master' into gradient
Merge branch 'master' into gradient
Fixed problem from previous merge
Added second regtest for DFS clustering
Added description of changes to changelog
Merge branch 'master' into gradient
Added SMAC collective variable
Several small fixes in docs
Merge branch 'v2.0-fixes' into v2.0
Removed SwitchingFunction::inverse

Now cutoffs for Switching function are deterine using dmax