ci(Caching): Cache gradle and node dependencies to improve build and test speeds
Use the gradle build cache to improve build and test times. While this still does not improve the docker tests, it at least improves the speed of our gradle tests. It also generates less traffic for third party services and less traffic for our own server, which is nice.