Return self on set/set_attributes

This prevents us from needing to override initialize on
RecordDelegators (for instance) in order to allow us to use setters at
the controller level on one line.

Before:

    # In model
    def initialize(attributes = {})
      super({}) do
        set(attributes)
      end
    end

    # In controller
    user = AuthenticatingUser.new(params[:user])

After:

    # In model
    # ... nothing needed!

    # In controller
    user = AuthenticatingUser.new.set(params[:user])