Refactor `Site#cleanup`

Move the cleanup logic out into a separate class,
`Jekyll::Cleaner`.
change site_cleaner to use attr_accessor
make obsolete_files a method (@mattr-)
put the Cleaner instance in a `Site#site_cleaner` method
remove no longer necessary condition
move Jekyll::Cleaner to Jekyll::Site::Cleaner
Fix two typos in History.markdown
Update history to reflect merge of #1454
Fixed --layouts option

The --layouts option isn't correctly declared causing a parse error when user specify it on command line
Update history to reflect merge of #1458
Update history to reflect merge of #1429
Add trailing slash to post URLs