Tidy up the Jekyll output.

Web files moved to new 'source' folder. Other changes to prevent
unwanted files in the HTML output of Jekyll.
Fix table of contents for Jekyll URL config option
Add _site to .gitignore
Refactor book metadata loading to own class
Add navigation tree to every page (style is TODO)
Basic styling for the navigation tree