### Motivation
Ease the efforts of modifying configurations in automatic workflow and scripts, like Docker and helm chart.
### Modification
Add a `selector` property into `application.yml` to enable switching configuration simply by environment variables or system properties, and filter the unselected options, leaving only selected one.
### Result
- We can switch a configuration by environment variables or system property
- Closes#4511
* Support to register different host/port at cluster coordinator. Only for Zookeeper and Consul
* Provide document for internalComHost and internalComPort
* Reset port to default.
* Provide consul cluster plugin.
* Change log and application config file.
* Add consul's config item into the docker's application.yml.
* Fixed bug.
* Add consul description into readme.
* Add okhttp component license.
* Update new protocol
* Support new protocol at agent side.
* Fix test case.
* Make backend supports new trace protocol
* Fix tests.
* Make all new services available in gRPC.
* Fix bugs.
* Finish new document for v2 trace protocol.
* Fix wrong version requirement of zk
* Fix trace query bug.
* Find a client side dictionary bug.
* Fix register bugs.
* Fix break doc links.