* backport of commit 9ea73b3b8d
* backport of commit d3cffdeb4d
* backport of commit 0848aac017
* backport of commit 90b5e39d2d
* Refactor and fix flaky tests
* Fix bad merge
* add file that was never backported
* Fix bad merge again
* fix duplicate method
* remove extra import
* backport a slew of testing library code
* backport changes coinciding with library update
* backport changes coinciding with library update
---------
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
1. Upgraded agent can inherit the persisted token and join the cluster
2. Agent token prior to upgrade is still valid after upgrade
3. Enable ACL in the agent configuration
- remove dep on consul main module
- use 'consul tls' subcommands instead of tlsutil
- use direct json config construction instead of agent/config structs
- merge libcluster and libagent packages together
- more widely use BuildContext
- get the OSS/ENT runner stuff working properly
- reduce some flakiness
- fix some correctness related to http/https API