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: it can't read the Carton file, and the .el file doesn't have the necessary information.

I'd strongly encourage you to use this pattern in any other elisp repos in which you're using Carton, since it helps everything work smoothly. :-)

-Steve