How can I provide mailing receipients an "Unsubscribe All" option?
There is no built-in &quot;Unsubscribe All&quot; function in CiviCRM, though there is a User Opt Out option from CiviMail, as well as a Do Not Email setting.
Unsubscribe
The unsubscribe link is provided by the {action.unsubscribeUrl} (URL) or {action.unsubscribe} (email) tokens.
The unsubscribe email, even if not provided as a token in the message, is supplied in the email headers as the List-Unsubscribe  address. Someone who unsubscribes by email is removed from every list used to send the message. For example, if you send a newsletter to two groups, Donors and Volunteers, and joe@example.net is on both, Joe would no longer receive messages from either Donors or Volunteers.
More commonly, people would click on the unsubscribe link, and be brought to a confirmation page to be asked

Are you sure you want to be removed from the mailing list(s) shown below …
You are requesting to unsubscribe this email address

The confirmation is in place to prevent accidental removals when people follow the link from forwards or replies. If confirmed, the contact is not deleted from the Group, but their group status is changed to Removed.
As of 4.6.5, there appears to be no way to unsubscribe from all groups at once, nor even to pass individual group IDs to the unsubscribe, unlike subscribing where group IDs can be passed to {action.subscribeUrl} as {action.subscribeUrl.gid}. On Drupal, it might be possible to handle subscriptions using Webform CiviCRM Integration and a bit of jQuery to select/unselect multiple checkboxes.
Because unsubscriptions are on a list-by-list basis, people unsubscribing from all current lists would not prevent them from being added to any newly created lists.
Opt-out
In contrast to the unsubscribe options, a user Opt Out ({action.optOutUrl} or {action.optOut} tokens) does not affect group membership status; it is an independent field on the contact itself. Contacts which have NO BULK EMAILS (User Opt Out) selected will be removed from all CiviMail mailings. So if you add the contact to any new mailing lists you create in the future, they will not receive messages from those lists, either.
The confirmation message for an opt-out link is different from that of an unsubscribe link:

You are requesting to opt out this email address from all mailing lists

There is no way to prevent an opt-out, though that feature has been requested in the past.
Do Not Email
A third option, which I believe can only be set by an admin or through a custom setup, not only prevents the distribution of CiviMail to a contact, but prevents an admin from sending a direct message as well.