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.
Above you use names but here you use an ID again, is there a reason for that?