Escape slugs for tags and categories, honor filename_case setting

Since tags and categories can be part of path and permalink, I think it's necessary to escape them. filename_case setting should also be honored. I believe this should fix #496.

Also `escape.filename` used to change filename to lowercase no matter whether filename_case was set to 0 or 1. This fix should slightly change `hexo new post` behavior which used to create lowercase filename even if filename_case was set to 0. I think we can change filename_case to 1 by default if the old behavior is desirable.