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
Merge branch 'master' into permalink-special-characters

Conflicts:
	lib/jekyll/page.rb
	lib/jekyll/post.rb
Merge branch 'master' of https://github.com/mojombo/jekyll into permalink-special-characters
Move URL generation to own class instead of a module

As suggested by @parkr in #944
Use symbols for all placeholders

See https://github.com/mojombo/jekyll/pull/944#discussion_r5443105
for a discussion.
Improve comment for url_placeholders method
Use do ... end for multiline block
Merge pull request #944 from x3ro/permalink-special-characters

WIP - Improve permalink generation for URLs with special characters