Generalize and simplify option value storage
Move responsibility of managing the final storage of parsed option
values out of OptionStorageTemplate to a separate OptionValueStore
interface. Reduce complexity by removing support for some unused cases
(like storing the values in more than one place), which allows complete
removal of refreshValues().
This turned out to be not strictly necessary for supporting repeating
sections in options, but it is a useful simplification nonetheless.
It also provides some reusable elements that are also used in later
changes.
Change-Id: Ib367ae987cd265a08777c2fe054b43fdd5310762