Refactor email, sms, and cite into actions within extendable action framework

While working on avalonmediasystem/avalon, @bkeese and I noticed bugs related to email, sms, cite actions from bookmarks.  We were also adding our own bulk bookmark actions but found we had to override a lot.  This PR refactors the email, sms, and cite actions and provides a pattern for adding and managing actions on an inheritable but per-controller basis.

A quick explanation of adding a new action is here: https://gist.github.com/cjcolvar/1d821fe502016aceea1b

Thanks @cbeer, @jkeck, and @mejackreed for feedback so far.
In order to easily add more actions or configure the available actions without having to override the whole controller. Like we are doing here: https://github.com/avalonmediasystem/avalon/blob/14f49b7c287197c3d9749a6e38fb4040bd1d84a8/app/controllers/bookmarks_controller.rb