add learning rate function to allow decaying learning rate

Allows the user to specify the learning rate as a function of the epoch number. 

Adds test that show how to use exponentially decaying learning rate

I'll add the same functionality for mementum if you accept the pull request. 

btw is there a reason the ReLU pull request are not integrated?