Refactor tournament functionality

Two major modifications: Console controller functionality is separated
from tournament model and competion template is separated from its
tournament instance.