use string find() instead of index().  Fixes #880.

We're expecting a non-match to return -1, which is what find() does,
but index() instead throws a ValueError.
makes Pelican-quickstart debuggable in PyCharm
Add test for the case where we try to read a file with an unhandled extension
Encoding issue in pelican-quickstart. Fixes #904
Use the builtin "open" on Python 3.
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
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.
Ensure that markup is a tuple.

`self.markup` is a list when using the `-m|--markup` cli option, but testing the
extension with `endswith` works only with tuples.
Docs: Add six, markupsafe to install dependencies
Don't include all the .py files in the root folder
Added lxml to the list of dependencies for the tox tests.

My system python installs are completely clean except for virtualenv, so tox needs a complete set of non-default modules.