Created new API for tabulated functions
Converted reference platform to process tabulated functions with the TabulatedFunction API
Converted CUDA and OpenCL platforms to process tabulated functions with the TabulatedFunction API
Created Discrete1DFunction
Created Discrete2DFunction and Discrete3DFunction
Delete TabulatedFunctions when their owner is deleted
Tabulated function parameters are hardcoded in the kernel instead of being stored in an array.  This makes the code simpler and may help performance slightly.
Added 2D spline functions to SplineFitter
Created reference implementation of Continuous2DFunction
Created OpenCL and CUDA implementations of Continuous2DFunction
Added 3D spline functions to SplineFitter
Created reference implementation of Continuous3DFunction
Created OpenCL and CUDA implementations of Continuous3DFunction
Fixed errors in wrapper generation related to TabulatedFunctions
Renamed methods for dealing with TabulatedFunctions to avoid problems in wrapper APIs.  Also fixed a few bugs.
Converted GBn and GBn2 to use discrete functions (improves performance)
Implemented serialization for TabulatedFunctions
ForceField supports all types of tabulated functions in CustomGBForce
Merge pull request #337 from peastman/functions

Created new API for tabulated functions