Added UI for joining/leaving markets.

This change includes all client and server side changes to join/leave
markets. Currently, they are displaying on the client side on the
seller’s page, but not on the vendor details page.

We are making a few extraneous database calls to ensure that all client
side information is kept up to date with the server. If these prove to
be too expensive at launch, we can cut back.