This is a rather large PR which updates the async branch to have all the database methods as an async fn. Some iter/map logic needed to be changed to a stream::iter().then(), but besides that most changes were just adding async/await where needed.
cargo fmt
This is only implemented for the database specific structs, which is not what we want
This prevents foreign key constraint violations.