add directional derivative class 

This class makes it easier to specify if/when forward or backward 
finite differences should be used in computing derivatives.