PlanetaryLinks should have a start node, an end node, and a planet. Planet is required at minimum.
Decided planet should work on planetary link like every other building.
Add planetary links to planet; allow them to be queried like other buildings.
Simplify num_* functions.
Split links out into their own array separate from buildings.
Treat links like a database.
Force uniqueness with a find_or_create_link method.
Add a find_link method to planet.
Auto-create and auto-destroy planetary links when input and output buildings are set.
Remove explicit dependency on PlanetaryBuilding as it doesn't need to exactly conform to that interface.
Remove redundant getters.
Use MIN_LENGTH and MAX_LENGTH instead of BASE_LENGTH and magic numbers.
Update tests accordingly.
Allow a planet to add a link.
Links should have a mandatory planet.
Planetary Links now need a source and a destination.
Add a Linkable module that allows a building to know when it's been linked to others at the Planet level.
Add a find_link by buildings method and a test for it.
Create a test for and adjust add_link method so that you can't add the same link twice.
Merge branch 'master' into planetary_link_redesign
Add the linkable trait to all buildings that can have planetary links.
Require all PlanetaryBuilding objects to have an x_pos and a y_pos.
Customs Offices are no longer planetary buildings.
Add a layout widget I can use to mimic in-game position functionality.
Add auto-scaling building and link image helper classes that draw svgs for me.
Add a helper class to wrap Gtk::Toolbar and make it act more like the unimplemented ToolPalette.
Add a mostly empty, RubyPI specific building_tool_palette class.
Building layout widget renamed to a drawing area.
Building layout widget now actually acts like a layout widget with little functionality.