Major restructuring and documentation rework

Now, I use Sphinx to document the code. An added post-merge hook (not included)
automatically publishes the code after every merge, meaning that I publish the
documentation to github.io whenever I merge, which will most likely happen when
I merge topic branches into master.
Add custom 404
Document navigation algorithms
More work on documentation