fix breadcrumb code for non-ID primary keys

For #2238

+ `display_name` returns nil if the object passed isn't truthy
+ updated the `parts.pop` line to be more representative
+ the remaining regular expression is more accurate

/cc @rraub, @LeakyBucket, @mindhalt