Add ability to query any match after next

Support /matches/A?numbers=next+n route where n can be any integer.
Add /corners endpoint

Allows multiple corners to be queried in one request.
Add a compstate update mechanism.

During normal operation, the http backend will (at most once each
5 seconds) look for a specific file in the compstate repo. If this
file has not been touched since the last time it checked, nothing
happens (ie it uses the data it already has). If the file has a
modification time that is different, then it will get a lock on the
competition state repo (using a different file) and then re-load the
SRComp instance.

Updates to the compstate should be done using the provided 'update'
script. This will fetch the latest revisions from the 'origin' remote,
acquire the same lock on the competition state repo and then checkout
origin/master. The script then touches the update file and releases
the lock.

By keeping the signalling separate from the locking we avoid race
conditions in accessing the lock file, while also providing a simple
way to detect that updates have occcured.

This is related to #2363 (Build updating of competition state), but
doesn't resolve it.

Change-Id: Ibee155a571b6f62d5470bffade3b0c4df95a0f15
Update for latest SRComp.

Change property access to match rename in submodule.

Change-Id: If5de8a60a1ed46f11317e2251db0ec3239fffd2d