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: 
Is it necessary to convert these to arrays? Does `expect(assigns[:tools]).to eq(user.tools)` work?