Foreign Key Refactor

Refactored Foreign Keys and the interface for creating them. Broke
dropdowns in the process when I realized that they didn't work with
scrolling.

The solution requires a z-order property for GUIs that isn't supported
in Unity, so I'll have to make it myself. Longer explanation and
solution in next commit.