Warwickshire candidate

Rebased against master and squashed, hopefully readably.

Note that most of the Open311::Endpoint stuff is not actively deployed on FMS server (e.g. is for the shim scripts on client) but there are a few tweaks to e.g. PopulateServiceList too.
This function is unnecessary if you merge #908 first.