Do not generate invalid filenames. Fixes #814.

Turn invalid characters into underscores, remove leading dots and enforce
a maximum length. Should be fine on main file systems used by Windows, Mac OS
and Linux.
Thanks to @Avaris for helping to clean my code.
Minor improvements to contributing guidelines
Update FAQ and changelog
__import__ fails for unicode 'fromlist' in Py2.x
Merge pull request #849 from avaris/plugin-path-unicode

__import__ fails for unicode 'fromlist' in Py2.x
Output sources for translations as well.
Merge pull request #844 from Rogdham/pelican-import_invalid_characters

Do not generate invalid filenames. Fixes #814.
Merge pull request #846 from Rogdham/output_sources_translations

Output sources for translations as well.
Clarify docs regarding pages. Fixes #847.
Minor documentation improvements