* Rename `cargo-api-linter` to `cargo-check-external-types`
* Run `cargo-check-external-types` on Smithy client/shared runtime crates
* Run `cargo-check-external-types` on SDK runtime crates
* Fix bug in determining crate name
* Run `cargo-check-external-types` on generated SDK crates
* Update pinned nightly to fix `cargo udeps` checks
* Update `api-linter` to work on `nightly-2022-03-29`
* Make it possible to test tool modifications in a pull request
* Fix exit status in `api-linter`
* Run `api-linter` against `aws-smithy-types` in CI
* Hide external buffer types used by `primitive::Encoder`
* Unpin nightly in CI
* Make `Encoder` a struct and split out an inner enum
* Update changelog