Allow multiple CCLA invitations to be sent at once

You may now specify a comma separated list of email addresses to
invite contributors to a CCLA.
Change InvitationAuthorizer to OrganizationAuthorizer

Since the InvitationAuthorizer is actually used to ensure that the user
has the correct permissions for a particular Organization this renames
the InvitationAuthorizer to OrganizationAuthorizer and updates the
OrganizationInvitationsController where it is used.
Combine OrganizationAuthorizer and CclaSignatureAuthorizer

Since the organization is the gatekeeper of CCLA signatures it seems
logical to move the the authorization logic to OrganizationAuthorizer
this also allows the logic to be shared for organizationy type actions
like managing contributors. This also adds a new authorized action,
resign_ccla? which protects a CCLA from being resigned by a regular
contributor in an organization.
Allow emails to be responsive

This removes the set width on the content container for mailers
and sets a percentage based with and a max width and makes a few
adjustments so everything looks ok at smaller sizes.
Merge pull request #489 from opscode/multiple-ccla-invites

Allow multiple CCLA invitations to be sent at once
Factor out CookbookUpload::Archive

This sets Supermarket up to alter its archive processing logic
independently of its file regex logic, which will make a future
(temporary) change to using libarchive transparent and revertible.
Make metadata.json pattern more precise

Namely: use \A instead of ^, include \Z in the pattern so that matches
are exact, and escape the period preceeding the extension.
Process archives in a backwards-compatible way

For the time being, we'll use libarchive, along with a relaxed and less
efficient metadata seeking process to process cookbook archives. Doing
so allows the data migration to complete. This commit should revert
cleanly once the backwards-compatible period is over.
Include protocol in asset host

To prevent image tags from breaking in mailers a protocol needs to be
defined for the asset host.
Add closing p tags to Manage Profile > Agreements.
Create the contribute sidebar and styles.

When viewing the contribute tables, display a sidebar with the list of repos
that Supermarket watches aka Chef's open source projects, and if the user is
signed in, display user-specific information about their agreeemnts.
Create the Become a Contributor page

This re-organizes the file structure of where the contribute/sidebar is located,
while creating the route, controller action and spec for the page to point
people to in order to understand what it means to become a contributor.

The content is not ready in this commit, but the framework is there.
Create the All Signers table in Contribute.

- lists and displays all of the folks who have signed either an ICLA or CCLA.
- changes the menu nav to Contributors instead of Contribute.
- implements User.all_cla_signers
Scale all elements' font-size for media queries.

Create a more uniform responsive scaling of text elements by changing the
font-size for all text elements. Previously, p, li, span and blockquote elements
were not being scaled which caused disproportionate sizes of text.
Expand upon the Become a Contributor page.

- Add in info and content that explains the steps to becoming a contributor.
- When a user links their GitHub account, redirect them back to
become-a-contributor to keep them on the path to becoming a contributor.
Make Contribute content and sidebar responsive.
Merge pull request #497 from opscode/responsive-email

Allow emails to be responsive
Merge pull request #485 from opscode/backwards-compatible-archive-processing

Backwards compatible archive processing
Update chef-legacy to 1.4

1.4 includes the data revision task which will re-process each cookbook
artifact to make sure we've imported its description, README, and
dependencies correctly.
Update policy for CCLA contributors tab nav.

The authorizer for CclaSignature has been moved to Organization. This updates
a condition still using the old authorizer.