Add descent base class that determine how descent process happened.
It is declare abstract function for selection direction of the descent and step of descent(direction multiplier).
Gradient move to descent folder
All available gradient methods rewrite via this abstraction.