Rework interface IBot to class

Although the interface IBot provided a quick and easy starting
point, experience has shown that a class is the better alternative.
As an interface does not support attributes, many aspects that
belonged logically to a bot had been implemented in State. As the
functionality of the framework grew it became apparent that this
only restricts development.

With its own class, a bot can have attributes (e.g. its name,
armies per turn, ...) and provide additional methods that make it
so much easier to extend State or anyother class that works with
attributes of a bot.