Implements the traits for hyper parameter optimisation #113 and an abstract HyperParameter class.