Correct bad module/class naming

Changed crawl.WikiCrawler to confl.AccessConfluence
Allow manually specified path to PDF printer

Previously, I tried to add a layer of abstraction, automatically calling
wkhtmltopdf or phantomjs based off a string indicating which to use.
It's more intuitive to just let the configuration specify a full path to
the printer, and try to pick up which is which from that path.

Also fixes faulty verbosity behavior in wkhtmltopdf.
Note wkhtmltopdf issue on OS X
Handle writeup URL's that don't match the format

If we can't extract an ID from the URL (for example, when a user posts
to the CS151 page as opposed to their personal page), warn about it, and
silently continue.
Use 'cp -r' in place of shutil.copytree if needed

On Mac OS X, there seems to be an error copying from one filesystem to
another with copytree. Fall back on the standard "cp" command if this
fails.
Warning messages stored in a set

Reporting the same warning twice shouldn't have it reported twice in the
directory name. Simplifies the "not in... append" logic (which was also
flawed when adding a potentially undefined warning_label).
Separate functionality of StudentCollate

- Make properties for easy access to generated fields
Make sure collation directory the same when called

Because copy operations may occur to different directories, ensure that
the first time the directory is fetched matches all successive requests
(i.e. no new error messages are issued).
Sanitize image paths for Mechanize

Mechanize appears to interpret some characters with shell-like meanings.
Instead of escaping such characters, simply remove them (better to
remove any chance of confusion in a shell anyway).