* Add local bundle commands
- the local bundles take precedence over the built-in ones
- bundle-show lists the bundles
--modules lists the modules in each bundle
- bundle-add adds a bundle from the user/repo github string
it does some level of checking that the repo's and zips URLs exist
- bundle-remove removes a bundle from the local list
* allow overwritting the built-in modules manually
* remove show_bundles_info
* filter github URLs into github repo string
* avoid duplicates if adding built-ins as local, but allow it (to override priority order)
* put bundle-remove --reset back
* small change in bundle-show, local first
* message on built-in in bundle-remove
* move bundle config to JSON format
* correct docstring, change print back to logging
* remove make reference from contributing
* change layout and install for config file
* Display the URL to update circuitpython
- Display the URL to circuitpython.org, using the board's ID if available.
- Fix a crash if boot_out.txt contains more than 1 ";" (if boot.py prints some).
- Display a clean error if `boot_out.txt` is missing (can easily happen with --path).
* change internal Bundle.url to the base URL of the bundle
* "install --requirement" allows any path and checks it exists with click.
* "show <match>" forces lower case matching (install already does).
* add module names completion for install
* sort completion suggestions
* add instructions in the readme
* switch to click 8
* update setup.py to click 8
* fix from rebase (missing bundle list)
* try not to update bundles for shell completion
* add pre-commit, remove duplicate redundant from makefile, fix all the lints
* Use pre-commit checks in build action
* Renamed files for REUSE to work in Ubuntu
* Move pre-commit earlier to fail faster
* remove makefile dependency and update docs