Temporarilty remove the /comp redirect

This gets added later as a folder, and its presence here as a file
therefore severely complicates the process of joining together the
comp and master branches. Remove this with the knowledge that it's
added later and won't ever go live in this state.

Change-Id: I0610c56955c81da049e85ae2dc0033ce05047292
Initial re-introduction of a competition homepage

This is largely based on Rich's changes from SR2013, but they are
now wrapped in ifdefs so that it's only available when in
COMPETITION_MODE, and can therefore always be present in the source.
This has a number of changes over the original, including links to
the full schedule and score pages, and doesn't contain the init JS.

Change-Id: I6756307f78b4839a4f84aea447b785c13ae5e15a
Add a helper for generating the league table's rows.

This doens't touch the DOM, instead performing just the data
conversion required to show the data we want. At the moment it doesn't
handle the case of a tie which is on the cutoff row (which did occur
in SR2013), I'll fix that next.

Change-Id: Ia5ba053759c0109fe7da369fac84338390e964b5
Improve testing of ties, don't hide the points here.

We didn't hide the points for tied teams last year, only the place.
This is actually key in keeping it clear why the place marker is not
explicit.

Change-Id: Ia7d10de48caa3882a9c1d453e03787a1d156f5c5
Add support for proper tie resolution in league display.

This uses the game points data to order tied places, as specified
in the rules. This is applied to the entire list, but will only
make a difference around the knockout cutoff.

Change-Id: If9ac0b577ac1a64200ee11ad15ec5e425c9427b4
Whitespace, syntax tidyup.

Change-Id: Ic485ebd0bfffdf64a3421e6cb40638b87e56826a
Add a sorter for the gamepoints collection.

Change-Id: I9a9a8ef763b05fcb296d386fc5531f14d35d3b03
Add a link for the events schedule.

Change-Id: I978cf7880b4ebd4b5475bf9443f7a04959b07d82
Add a comp template based around AngularJS.

This provides a mechanism to contain dynamic pages. Add a new meta
attribute which is the name of the Angular controller to use for the
page. Implement this for the league points page and add placeholers
and links for the other pages.

Change-Id: Ifa22b68139f4dbd0cf7392140a325a615dd4e181
Add missing controller from previous commit.

Change-Id: I782e0266b4e8129d96ec31789ce8ccc8ab33ac07
Prefer data-ng attributes for valid html5.

Change-Id: Ib2b284df1bdee615048ed1e5e46bf998bff99863
Add display of the competition schedule.

This is very rough for the moment, as it doesn't chunk the matches
in any useful way (suitable examples appear to be: day, session, round).

Change-Id: Ice680190b19648815b81c24876141ba5e1865d25
Expect matches to be in a sub-key.

This is to match with a recent change in the API, and allows us to
just iterate over the dictionary without needing to worry about hitting
Angular's properties.

Change-Id: Ie14cf3b6ee9f14d198731a04f949d6c73c325f5f
Fix handling of the current match.

Change-Id: I08bb6137c22653f4b293ccaf36818e65fd69faa4
Add styling to the competition pages.

Primarily the schedule page,  which now highlights the current match.

Change-Id: Id27bb4dc86efdf34e5805dd22ed69116414a6286
More styling of the schedule table.

Change-Id: If4277297c008bb64d74e736dba0aa6f7932e8632
Add support for breaking the matches into sessions.

These will be things like morning/afternoon and the days.
This assumes that the knockouts will be on a separate page.

Change-Id: I7b65db7318b95855143d0d7e69850cde550ac380
Fix whitespace.

Change-Id: I3156b79f200b82e6f54718c91173f715af476ba7
Have the schedule and points pages update each 10s.

Change-Id: I3fe9818989e64a69e7f334acd96670bdc900bc7f
Avoid highlight/hover styling on the header row.

Change-Id: I5863a30014c971f3b679e3b50938ec84eb81f2e6