Better error if Open311 returns nil service list.

If an Open311 server responded with e.g. '<services></services>', you
got a strange hash error as the code treated it as one undef service.
Spot this at the same point we check anything was returned.

Also remove a couple of warnings due to lc of a maybe-undef variable.
Only have jurisdiction_id in request if present.

So don't request '...services.xml?jurisdiction_id=' as that can lead to
an error from an Open311 server that expects either no parameter at all
or a stated jurisdiction_id.
Merge branch 'open311-populate-error-improvement'