Allow $autoload setting to be changed for existing options using update_option().
[31628] made it possible to pass an $autoload param to update_option() that
applies when the option does not yet exist in the database. The current
changeset introduces parity for existing options: the $autoload setting
for existing options can be changed via the $autoload parameter. For internal
simplicity, $autoload is ignored for existing options when $value is not
also changed.
This changeset also moves update_option() tests into their own class.
Props dd32.
Fixes #26394.