Create a seeds file, and fix missing link.

After setting up my models, I like to make the seeds file generate a very
simple setup of all of them. This often finds problems with the model that I
didn't realize.

In this case, I _completely_ forgot to add a link between an Artist and a Shop
in the schema. So I added a new migration to take care of that.

I also had to add some extra `has_many`/`belongs_to` methods to various models.
I don't like to automatically just include every single one, but I do often
find that my models all 'flow' from some main one. You can tell this by looking
at the drawing, `Shop` is the big, important model where everything starts
from. Even though I didn't call it `User`, I need to make sure it doesn't turn
into a God Object.

Also of note: it's nice if seeds.rb is idempotent. It ensures that something
exists in your database, rather than adds more stuff to it. This way, you don't
need to do the whole dance:

    $ bin/rake db:drop db:migrate db:seeds

I do this kind of development in an very iterative way. Here, check it out (cleaned up for ease of reading):

    $ history
    <snip>
    61  vim db/seeds.rb
    62  bin/rake db:seed
    64  bin/rails c
    65  vim db/seeds.rb
    66  bin/rake db:drop db:migrate db:seed
    71  bin/rails c
    72  vim app/models/shop.rb
    73  bin/rails c
    74  vim db/schema.rb
    78  bin/rails g migration AddShopIdToArtists shop:references
    80  bin/rake db:migrate
    81  vim db/seeds.rb
    <snip>
    92  bin/rake db:drop db:migrate db:seed
    93  bin/rails c
    94  vim app/models/artist.rb
    95  vim app/models/customer.rb
    96  vim app/models/appointment.rb
    97  bin/rails c
    98  git status

I explore the model in IRB to make sure that things are working like
I expect them to. I'll also check that the seeds.rb is consistent as
I expect:

    irb(main):005:0> c.appointments.first.artist.shop == c.shop
    true

Doing stuff like this is what led me to realize that I missed the column on
Artist.