Add service lists to worldwide offices and refactor models

The first part of this pull request is to shuffle the models around.  So:

WorldOffice (the thing that represents what an organisation is doing in a particular world location) is renamed to WorldOrganisation because it's a better name for what it is.  Also because...
A *new* WorldOffice is injected to sit between WorldOrganisation and Contact, and this allows WorldOrganisation specific things to be attached to a contact for a world organisation.  Namely:
WorldService is added to represent the kinds of services that are on offer in these WorldOffice.  These have a WorldServiceType (like PublicationType et al, it's a fake AR-a-like enum) for grouping purposes.

The UI presents a unified Contact / World Office form so that real people needn't be aware of this new layer in the model.

There are some things I'd particularly like feedback on, I'll leave comments on those commits.

This is for: https://www.pivotaltracker.com/story/show/44233659