state: clean up ConfigNode logic
Various paths were not initialising a new ConfigNode correctly.
We take this opportunity to clean up the logic and also to make
stronger guarantees about the watcher logic.
R=TheMue, fwereade, dfc, niemeyer
CC=
https://codereview.appspot.com/6208047