Fix submodule deploy issues

New way is still hacky.

Instead of using a bare repo, it uses a regular repo with the work tree set to
the parent directory. This allows the submodule commands to work.

It does leave the .git directory in the root of the website, but the nginx rule
sorts that out.
Add pelican cache to .gitignore
Update submodules
Use submodule for pelican-sitemap plugin