Merge teams and schedule controllers

Since the logic is so similar between the NHL and NBA teams and
schedule controllers, merge them into a single one, and refactor out
the common logic.