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
Removed SwitchingFunction::inverse

Now cutoffs for Switching function are deterine using dmax
Added SMAC collective variable

In doing so I fixed a number of bugs in the KernelFunctions
class.  The derivatives calculated by the evaluate function
in this class were wrong.  Tests still need to be done to check
whether or not the derivatives are correct when non diagonal
metrics are used.
Added SMAC with planes