Materialize all claimable provinces into a view with a column for the
claim type. the `provinc` column contains duplicated rows but each row
contains a unique combination of province and claim type.
This makes it much easier to search possible conflicts, or to list the
availability of provinces.
## Add absences table and basic queries
* Add migration scripts
* Add queries to add, get and list absences
* Add tests for the above
* Add function to get the date of the next Monday
Also fixes potential bug in the build where the output binary would be
written to a file called `./bin` rather than a file named after the
source directory in a _directory_ called `./bin`.
## Add /schedule command
Adds the Discord slash command to get the schedule for the next few
weeks.
Also updates the required Go version to 1.21 to benefit from the new
`time.DateOnly` format that's gonna be used in the absences table.
## Add scheduled message every Saturday 5pm
Adds the `notify.go` file which manages the scheduling of the recurrent
message that will ping the group every week about the following game.
## Add /absent command
Adds command to register as absent for a specific date. The command
takes in one optional parameter for the date, if none is specified,
defaults to the next session.
Related to #17
Renames the `/ping` command to `/info` and adds the following
information to the Discord response
* Uptime of the server
* Total number of claims currently held
* Total number of unique players holding claims