Add AutomaticBarrel

added abstract class AbstractBarrel
AutomaticBarrel and SingleBarrel are now subclasses of AbstractBarrel
an abstractBarrel contains an ArrayList<Cat>
if this ArrayList is empty, the barrel is set to inactive