Implement `bbctl` auto-updating functionality for all installations
Add new behavior to `bbctl` to check for updates.
## Motivation
`bbctl` has the ability to check if updates are available. To ease the burden on the users of `bbctl`, it should also have the ability to update itself if an update is available.
## Acceptance Criteria
- Adds an optional configuration that enables auto-updating and automatically updates the local `bbctl` binary if a new version is available.
- add configuration to `/.bbctl/config.yaml`, and update `bbctl config init` to reflect this
- Use the logic implemented in https://repo1.dso.mil/big-bang/product/packages/bbctl/-/issues/293 to verify an update is available
- `bbctl` can detect its own installation method of the supported update methods
- If the installation method cannot be determined, `bbctl` must notify the user that an update is available and continue execution
- If the installation method can be determined, `bbctl` must prompt the user asking if it's okay to update
- If the user accepts the prompt, `bbctl` must update itself
- If the user does not accept the prompt, `bbctl` must continue execution
- If possible on the platform, the running `bbctl` process must replace itself with the updated version
epic