.js: In GitHub TOC, fix bug on non-repo pages

Previously, we would search for the pjax content area that is present
on repository pages, and add an observer to that watching for MarkDown
content. However, pages such as user pages, the homepage, and so on,
don't have this content area (they a different div with a different
id.) This would cause the script to fail on these pages, and fail to
run on subsequent, properly formatted pages.

This change adds a check that the right pjax content area exists.

It also refactors the setup code (the initial run of addToc() and the
adding of the observer) to the setup() function. This allows us to
delay setup until the document is ready or, if the document is already
ready, to run it immediately.

This fixes a bug where the setup code (the initial run of addToc() in
specific) wasn't running because it was wrapped in a document.onready
event, but the document was already ready.
.js: In GitHub TOC, don't add TOC to comments

Comments use MarkDown as well, and have the .markdown-body class
applied to them. However, we don't want to add a TOC to comments. This
change filters out comments from the selected MarkDown content areas,
then uses that filtered collection for all subsequent operations.