Make default address association safer

It turns out that the state transition itself calls a save, so there is
no need to add one more here. To make this even safer, we refuse to
associate default addresses that are not valid.