Fix file headers and footer, add autoload cookie for mode

For package.el, the ";;; blah.el" lines must match the name of the containing file (which, in turn, must match the name of any package built from the file).

Alternatively, it might ultimately be clearer to rename `shm.el` to `structured-haskell-mode.el`, though that's a bit more work. For the sake of packaging, a further alternative still would be to provide a `structured-haskell-mode-pkg.el` file but to leave the existing files as-is -- this would allow the package to be called `structured-haskell-mode`.

(Re. https://github.com/milkypostman/melpa/pull/1403)