Expand options for preferences lookups

This is a fix for #6578, along with an API improvement as discussed briefly in 6578. The API improvement is backwards compatible, with the exception of a change to the Editor's `optionChange` event which has been noted in the Release Notes for sprint 37.

[redmunds] This also fixes #6682 and #6756.

cc @busykai @peterflynn