Sorta refactor elsewhere

This is a stopgap refactor of the elsewhere property to make it a namedtuple instead of a regular tuple, making it easier to work with. This allows us to also add new elsewhere fields without breaking existing places where the tuple is unpacked.

cc @simon-weber