slack-blocks 0.25.0

Models + clientside validation for Slack's JSON Block Kit
Documentation
 # Contributing

 If you're interested in contributing, head over to the [issues] and see what's left to
 do to get this crate fully usable and stable - at the time of writing there are a few
 big-picture things left to do:

 - Implement Block Elements ([#61]https://github.com/cakekindel/slack-blocks-rs/issues/61)
 - ~~Implement Composition Objects ([#63]https://github.com/cakekindel/slack-blocks-rs/issues/63)~~
 - Remove the `validator` crate from the public API ([#9]https://github.com/cakekindel/slack-blocks-rs/issues/9)
 - Add a `validation` crate feature ([#8]https://github.com/cakekindel/slack-blocks-rs/issues/8)

 And this doesn't block a v1.0.0, but is definitely something I'm interested in doing for this crate,
 that will make it a lot nicer to interact with:
 - Add a proc-macro of some kind that allows easy creation of block messages (#??)

 This repo follows [Conventional Commits] in order to fully automate the semver process,
 but you don't _need_ to follow this convention since the repo is configured for Squash
 commits on merge.
 
 ## Build / Test / Format
 This crate uses [`cargo-make`] for script consistency, in Makefile.toml you'll find:
   - `cargo make fmt`: Format all files according to configured style `rustfmt.toml`
   - `cargo make test`: Run all tests
   - `cargo make doctest`: Run doc tests only
   - `cargo make tdd`: Watch files for changes, and run `cargo make test` on each change
   - `cargo make ci`: Run tests, check that code is formatted and no lint violations.
                      This is run as a quality gate for all pull requests.