Use Carton's `package-file` directive to avoid duplication

With these changes, you can keep the dependencies and versions in
the .el file where MELPA can find and use them, and Carton will
read them from that file where necessary.

Without the changes, MELPA cannot build packages from this repo.