Tox: use git urls for py3 versions of smartypants and typogrify

+ This make it easier to use tox with py3: no need to checkout manually
  typogrify and smartypants repos and use tox's distshare.
+ Remove feedgenerator as it is already a dependy for pelican.
Update version requirement with feedgenerator 1.6

feedgenerator 1.6 changes the order of attributes in feeds, so we must use this
version to have consistent functionnal tests.
Update tests output with feedgenerator 1.6

feedgenerator 1.6 includes a change to write feed attributes in a consistent
order between py2.7 and py3.3.
Include feeds and mkd files in the dist package.

This files are needed to run the tests.
Drop python 3.2 support and move to python 3.3.

Jinja 2.7 (released 2013-05-20) supports only Python3 >=3.3 so it is time to
drop Python 3.2 and move to 3.3
Merge pull request #907 from saimn/py3k

Drop python 3.2 support and move to python 3.3
tests/test_readers.py: Remove redundant 'expected' check in AdReaderTest

AdReaderTest.test_article_with_asc_extension() has had duplicate
checks on the expected metadata since it was created by 49f481e3 (Add
asciidoc reader support, 2013-10-28).  This commit removes the
duplicate entry.
settings: Make DEFAULT_CONFIG public

This dictionary is accessed by plugins (like `summary`) which add new
settings, so it should be public (i.e. no prefixed underscore).

The changed name length would have led to a re-indenting of the
default contents anyway, so I shifted them all to four spaces.
settings: Rework the LESS_GENERATOR removal warning for easy extension

Setting migration is something that will happen for multiple settings,
and the more we can standardize the reporting procedure, the easier it
will be to add new warnings.
settings: Cleanup configure_settings() (standardization & types)

This pulls out some general patterns to make it easier to apply
existing processing to new settings.
tests.support: Use kwargs overrides in get_settings()

This avoids harcoding test-specific overrides, and makes it easy to
setup a settings dictionary based on DEFAULT_CONFIG for testing.
Because you can trust Pelican to use settings based on DEFAULT_CONFIG,
you are free to go about using:

  settings[my_key]

instead of:

  settings.get(my_key, some_fallback)

or:

  if my_key in settings:
      ...

if you know that `my_key` is in DEFAULT_CONFIG.
Replace settings.get(key) with settings[key] for default settings

If a setting exists in DEFAULT_CONFIG, assume it will be there
(instead of checking and/or providing a local default).  The earlier
code was split between the two idioms, which was confusing.