Method update! should not overwrite client properties not passed in options hash

update! should not overwrite client properties with nil if those settings aren't passed in the options hash. This is the current behavior in update_token!. This commit refactors update! to behave like update_token!.