Refactor URL processing/generation into separate module

This is done to prepare for improved permalink generation
for URLs containing special characters, as proposed in
issue #782
do not force the permalink to be a dir if it ends on .html

Fixes #798.
test per-post permalinks

Add tests for setting a permalink on a post (in YAML frontmatter),
both the "old way" (generating an index.html) and with an .html ex-
tension.
Move the building of related posts into their own class
Fixing paginate_path on windows
Move the require for related_posts to jekyll.rb
Further clarify what paginate_path should do in the case of directories in the path
Wrap tests around Jekyll::RelatedPosts

This gives me more confidence that we're doing the right things when it
comes to both the LSI and non-LSI cases and prevents regressions.
Update the display of the LSI progress output

It now fits more in line with what the other messages display.
Also stub the building of the index

Since we don't actually use the index in getting the related posts from
the tests there's no need to build an index, which can take a long time
if the ruby bindings for the GSL library are not installed.
Created new changelist page. It currently looks bad.
Cleaned up the formatting of changelist page and removed HEAD section.
Rake task added to move History into site and update its formatting.
Manually fixed formatting for now.
Added jekyll-contentblocks to the plugins list
Reverted my upgrading.md to fix merge conflict.
Merge branch 'master' into changelist_page
Moved changelist to /history directory.
Updated rakefile to support new directory and parsing structure.
Added /history directory to the gemspec.