Allow users to create Tools

:construction: :rotating_light: :construction_worker: :rotating_light: :construction:

This is current in progress, and it is kind of a beefy PR.

This introduces the `Tool`, a way for folks to share their various tools and plugins on Supermarket.

Trello card: https://trello.com/c/oV2dAj7h

The todos lives in the Trello card. :smile_cat: 
I guess an argument for doing it how you're doing it is it ensures that a user is associated with the tool but I'm not sure if that's the intention of this spec or not.