Added better support for CanCan#accessible_by

Added an `action` optional argument to AuthorizationAdapter#scope_collection.
The controller passes in the action that is currently being performed so
that authorization adapters can correctly scope collections based on
different controller actions.

Also implemented it on the `CanCanAdapter` so that we offer full support
of the accessible_by functionality.