Refactor - DRY the worldwide org office selection

This is to simplify further work.
I noticed there was repetition of code for finding an office based on
the services it provides so have made this available as a method of the
worldwide_organisation model.

Also adds tests for new method and DRY's the loading of the test data
(aka fixture).

I was looking at this because the lost/stolen passport tool will need
to reuse this functionality when it starts using the API to get embassy
information.
Merge remote-tracking branch 'origin/refactor-worldwide-organisation'