discovery: change Advertise() to return done channel

  Advertising is stopped when the given context done, but there is no way
  to know when it is actually stopped. This makes difficult to update
  the existing advertisement since it should be stopped before
  advertising a new one.

  This CL change Advertise() to return done channel which will be closed
  when it is stopped.

MultiPart: 3/3
Change-Id: I1c7b2dd554b0d47c4d79138267a52966b6eb83f5
2 files changed