Add a little widget that allows you to turn buildings and links on/off.
Move the remove product signal out of the base tree view and into the widget.
Rework transfer widget.
Add frames around the source and destination building columns.
Create a stored_products assignment method for unrestricted storage.
Create tests for stored_products assignment method in both storage models.
Use that instead of doing store_product() on each thing. That was causing too many update loops and losing data.
Add some gtk_helpers for a tree that accepts and updates from a hash.
When assigning a stored_products to a model, if the quantity of said product is zero, remove the key.
Fix issue with transfer widget where the model would get updated even if you hit cancel. In order to do this, I had to stop duplicating the model objects in the view. I think the reason that failed was because upon building.dup, it would duplicate the observer peer of @planet_model, and thus a change to the dup would cause the planet model to change.
Clean up includes and clarify a few comments.
Rename "transfer products" to Expedited Transfer where applicable.