Convert db seed + sample files to Ruby

This removes some confusion about what countries are in what zone members, and will prevent us from running into issues like #2547.

This also passes the data through each of the models, ensuring that it's valid. These changes will also make it easier for people to load parts of the sample if they wish, as well as making it easier for us to test that the sample is working appropriately.