Send package files with standard HTTP replies

Elnode's built-in webserver uses chunked transfer encoding to send
files.  package.el can't handle that, because it ignores the
corresponding header and just reads to the end of connection, so the
final EOF ends up in the package file and breaks package installation.

To fix this, we use a custom handler, shaped after
`elnode--webserver-handler-proc`, but with simpler mimetype detection
and standard HTTP replies.