change host announce mechanics
change host announce mechanics

Host will check addresses are valid before attempting to make an announce call.
Hosts will also update the internal address to match the announcement that they
are making.

I think that we have gone back and forth on this before, but it's pretty clear
that users expect their most recent announcement to be the one that they keep.
Also, it does not make sense to be announcing a netaddress that you do not plan
to use as your permanent address, as the hostdb only remembers the most recent
address that has crossed the blockchain.

mharkus/Sia,NebulousLabs/Sia,NebulousLabs/Sia,ChrisSchinnerl/Sia,ChrisSchinnerl/Sia,MrStrong/Sia,ericflo/Sia,mharkus/Sia,mtlynch/Sia,mtlynch/Sia,ericflo/Sia,MrStrong/Sia