Improve CI
This MR splits existing CI jobs into smaller ones and reorders their execution to “check the parser → check the checker → check the database”. In addition, this MR enables caching for jobs that compile Rust code. As a result, the whole pipeline can finish in three minutes, while it could take twice as much even with some skipped jobs.