Refactor breadcrumbs

Currently the trail of breadcrumbs involves logic spread across a number of areas. This attempts to consolidate and simplify it.

Some discussion around the classes created under ``app/domain`` could be useful; I ended up using a syntax along the lines of  ``DomainObject.new(params)`` rather than ``DomainObject.new(params).call`` which has been the convention so far with our service objects.

@andrewgarner @gjvis @jongilbraith 
Hmm, the [controller-specific stuff](https://github.com/moneyadviceservice/frontend/blob/master/app/controllers/concerns/localisation.rb#L5) in the concern makes it's incompatible with a PORO alas