Fix bug with generating breadcrumbs

There was a subtle bug introduced in 584d1fe6 meaning that the test for
co-ordinates was always being run, even if a url name mapping had been
found, which meant if the url didn't match a co-ordinate it was always
falling back to the default in the else statement.

Part of #801
Only generate breadcrumb links for actual urls

This adds some extra checks to see if the breadcrumb url can be
resolved, if it can, then we generate the breadcrumbs as normal, if we
can't resolve it then we still display the breadcrumb, but we don't make
it a link.

This also solves the problem of some of the breadcrumbs being relative
rather than absolute links, which cause 404 errors.
Merge remote-tracking branch 'origin/breadcrumb-fixes'