I think the best we can do here is to add `carton emacs` to simulate old `carton exec emacs`.  And use it like `carton emacs -batch -Q -l ecukes-cli -f ecukes-cli-main`.

I suggest:

1. `carton emacs` runs Emacs in same process which loads carton-cli.el
    This may not be good for some cases because you can't avoid loading bootstrap libraries, but we can make it cross-platform.
2. `carton run` which provides the same interface as `carton exec` in this PR.  It doesn't work if you want stdin etc., but it is cross-platform.
3. `carton load-path` to print `EMACSLOADPATH`.
   bash script can simply implement `carton exec` using it.  Probably Windows user don't need it anyway?