[Thread] add more Thread shell commands

A summary of changes in this commit:
1. add new commands mirroring the java APIs: "join", "migrate" and
   "leave"
2. Use THREAD_NETWORK_TESTING for guarding access to shell commands
   which are for testing
3. Refactor ThreadNetworkShellCommand for readability

Bug: 329368792
Change-Id: Ibdb256674533704dc1d000a15c162f41cec5047f
4 files changed