1. Support choosing whether to broadcast data to an existing goose or open a new goose.

2. refresh goose list before trying to start a goose. We need to synchronize the unregisterIdleGeeseAndUpdate function since it is accessed by multiple threads.