refs #3930 - ensure a user can actually update itself.
fixes #3930 - refactoring of edit_self implementation.
fixes #2739 - add ActiveSupport::Concern syntax to mixins
fixes #2411 - move files in /models to /concerns, /services, /mailers, /observers