New "AbstractOptionable" class

Due to commit a3231b1518, a new abstract class is defined following the
"OptionableInterface" : a simple object managing an array of options