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.
Allow mailer URLs to have protocol specified

You cannot rely on email clients handling URLs without a protocol
specified correctly. So this allows a protocol to be specified
(generally either http or https) so a full absolute URL can be
generated. This issue originally reared its head by not routing to
images correctly in most email clients.
Order cookbooks alphabetically by default

If there isn't an order parameter or a query parameter then cookbooks
should be ordered alphabetically by name.
Retain order when performing a new search

If you have an order specified when searching and you kick off a new
search the order should still be maintained until the user explicitly
disables disables the sort.
Merge pull request #493 from opscode/fix-mailer-images

Allow mailer URLs to have protocol specified
Use same protocol for S3 URLs as the application

Berkshelf is not happy if the protocol for the application is not the
same as the S3 URLs so this configures Paperclip to use the same
protocol.
add /universe endpoint
make the router more flexible
perf optimizations and added flexibility for url generation
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.
Merge pull request #494 from opscode/alpha-cookbooks

Cookbook search adjustments
Merge pull request #496 from opscode/https-s3

Use same protocol for S3 URLs as the application
Merge pull request #431 from opscode/universe-api

Add /universe endpoint
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.