Refactor cookbook partial SCSS to be more generic

Since the styles for the tools partial are the same as the
cookbook partial this refactors the styles for the cookbook partial so
the class names are more generic so they may be used for tools.
Add tools index

Add a tools index that lists all tools.
Change Tool#user to Tool#owner

For consistency with Cookbook this changes Tool#user to Tool#owner and
adds a convenience method Tool#maintainer that fetches the owners
username.
Support tools atom feed

Support tools atom feed ordered by created at dates.
Support filtering tools by type

Allow tools to be filtered by type based on Tool::ALLOWED_TYPES.
Limit allowed tool types

Limit and validate the allowed type of tools that can be created.
Abstract heading with buttons into common scss

There are now a bunch of places where we have UI with a title and
buttons to the right, this abtracts the cookbooks search styles for that
so it can be reused on the tools directory and user profile.
Fix botched merge conflict.
Fix server side error messages for tool validation

@user needs to be assigned if we're going to render new with @tool with
error messages also need to display the error messages.
Refactor simple cookbook styles to simple listing

So the simple cookbook styles can be reused with tools this refactors
them to simple listing.
Link to tools from the dashboard.