Added base class for bot

Also added illegal move detection methods