Show embed code for contacts in more places

1. on the edit form for contacts
2. on the edit form for world offices (using the id the contact)
3. on the list of world offices (using the id of the contact)
Make tabs for orgs into left aligned tabs

This avoids them becoming a two row set of tabs on narrower browsers.
Tabs on worldwide organisations go on the left too

Also tidied translations view for normal organisations to mirror the (better) layout of the worldwide orgs translations page.
Add initial failing feature for managing contacts and offices

Fleshed out some of the steps, but there is still more to come.
Add initial models for storing things for lists on the home page

It's super generic because orgs will store a list of contacts, but worldwide orgs will store a list of offices. I figure that if this has to support that level of difference it should be general enough to support any sort of list.  It may make sense to convert the featured_topics_and_policies_list into one of these (once we work out what to do with the summary text and link_to_filtered_policies flag).
Add HomePageList.get for fetching a named list for an owner

It'll magic one up too if it doesn't already exist.
Flesh out methods on home_page_list

The rationale here is so we don't have to deal with AR messiness, and just talk about adding / removing items rather than home_page_list_items.
Expose a contact specific api on organisation for the home page list

Again, this is to avoid just lobbing AR all over the object and opening up that huge API.  This is much smaller.
Allow for show on home page toggling in create/edit of contacts
Add and remove contacts from the home page from the admin index
Reordering of home page contacts is available

Via the UI (new tabbed version of organisation/contacts view), and this ripples down via the controller to the org and thus to the home page list.
Fill out steps for home page contact removal
Extract organisation home page list methods into a rails-style "macro"

This means we just have has_home_page_list_of :contacts on organisation and this expands out into the full set of methods we need.  It's implemented similarly to rails in that we define all the methods on a module and include that, so they are available for overriding and calling via super.
Move listing of offices from world org controller to world office

It's really where it belongs.
Extend home page office ordering onto worldwide organisations
World org main offices need to be treated differently

They can go in the list, but when we ask for the offices in the list remove it from that list.  Also say it's on the home page if asked and it's not in the list ('cos it will be on the home page).  Tweak the admin UI to not allow ordering the main office, but do show it as being first.
Allow for home page addition / removal via the list of all offices
Make world office list look more like contacts list in admin
Add mechanism for removing home page list items after item destruction

We have to explicitly mark which things might be put in a home page list, and we use a method similar to adding the list api to the containers.  For now it only adds the destroy hook, but it'd be a good place to hang any other methods we might need in the future (like finding what things have an item in a list).
Fix failing cukes

Make world office index more robust when no offices exist and make sure steps create offices that are on the home page.