Fix customnonbondedforce segfault

Updated PR for #534 that implements a deep copy for TabulatedFunctions (`TabulatedFunction::Copy()`) that is a pure virtual for the ABC and implemented for all types of `TabulatedFunction` subclasses.

To sum up #534, this prevents a segfault when using the long-range correction with a `CustomNonbondedForce` containing tabulated functions that would arise when the shallow copy created to recompute the long-range correction if any parameters changed was destroyed and took the TabulatedFunction list with it.  This led to a double-free when the original `CustomNonbondedForce` object was destroyed.

This solves the segfaults I was seeing on my Mac and Linux box.