Fix some related link edge cases.

The previous code was failing if the `links` hash was an empty hash or
didn't contain the `"related"` key. The code to fix this and still
retain the nested `OpenStruct`iness was sufficiently complicated that I
replaced it with a single method to retrieve a list of related link
`OpenStruct`s; we can revisit this if and when this app needs to deal
with other link types.