change date metadata parsing to dateutil.parser
change the inhibition value of *_SAVE_AS to ''

Previously, the documentation claimed the value of None for this purpose
even though False was used for certain defaults. The values False and
None cause warnings to be emitted from URLWrapper._from_settings though,
so the new way of inhibiting page generation is to set a *_SAVE_AS value
to the empty string.
Merge pull request #1298 from th3aftermath/feature-inhibit-save_as

Change the inhibition value of *_SAVE_AS to ''
Merge pull request #1266 from hrbonz/date_timezone

Change date metadata parsing to dateutil.parser
Limit and filter logs

Drop duplicates logs.
Allow for logs to be grouped, enforcing a maximum number of logs per group.
Add the LOG_FILTER setting to ask from the configuration file to ignore some
logs (of level up to warning).
Fix deprecated logger warning for Python 3

logger.warn() has been deprecated in Python 3 in favor of logger.warning()
Minor correction to settings documentation
Fix unittest issue related to python2/python3 differences

The test_datetime test passed on python3 but not python2 because
datetime.strftime is a byte string in python2, and a unicode string in python3

This patch allows the test to pass in both python2 and python3 (3.3+ only)
Merge pull request #1030 from Rogdham/filter_log

Limit and filter logs
Merge pull request #1307 from al-tonio/datetestfix

Fix unittest issue related to python2/python3 differences
Minor text changes to log message limitation
Fix error in download_attachments() triggered by python2 unit test

The download_attachments error is triggered in the unit tests by a japanese
error message (接続を拒否されました) (connexion denied), that
python is not able to serialize the into a byte string.

This error weirdly does not appear every time the unit tests are run.
It might be related to the order in which the tests are run.

This error was found and fixed during the PyconUS 2014 pelican
sprint. It was discovered on a Linux Fedora20 computer running
Python2.7 in virtualenv
Merge pull request #1308 from al-tonio/download_attachments_japanese_error_msg_fix

Fix error in download_attachments() triggered by python2 unit test
Cache content to speed up reading. Fixes #224.

Cache read content so that it doesn't have to be read next time if its
source has not been modified.
Add s3cmd MIME type detection
Added new sphinxtheme as requirement for docs Modified docs conf to support the theme update
Fix unittest issue related to python2/python3 differences

Under python 2, with non-ascii locales, u"{:%b}".format(date) can raise UnicodeDecodeError
because u"{:%b}".format(date) will call date.__format__(u"%b"), which will return a byte string
and not a unicode string.
eg:
locale.setlocale(locale.LC_ALL, 'ja_JP.utf8')
date.__format__(u"%b") == '12\xe6\x9c\x88' # True

This commit catches UnicodeDecodeError and calls date.__format__() with byte strings instead
of characters, since it to work with character strings
Make sure locale is what we want before/after the tests

The locale is a global state, and it was not properly reset to
whatever it was before the unitttest possibly changed it.
This is now fixed.

Not restoring the locale led to weird issues: depending on
the order chosen by "python -m unittest discover" to run
the unit tests, some tests would apparently randomly fail
due to the locale not being what was expected.

For example, test_period_in_timeperiod_archive would
call mock('posts/1970/ 1月/index.html',...) instead of
expected mock('posts/1970/Jan/index.html',...) and fail.
Fix settings table in docs
Merge pull request #1309 from al-tonio/date_format_japanese_fix_python2

Fix for locale related issues while running the tests.