Altered bot_interface tickable added new interface ticker.

Task @T86 : Altered tickable to be an abstract interface to be used
by modules wishing to access the bot's tick method. Added a new fully
resolved interface ticker which provides methods to add, remove and
tick all registered tickables. Finally altered abs_bot to provide
the ticker interface and override base_object::tick to call tick_all
before calling the overridden method.