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
Encoding issue in pelican-quickstart. Fixes #904
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.
Merge pull request #921 from wking/default-settings

Standardize `DEFAULT_CONFIG` handling
Docs: Add six, markupsafe to install dependencies
Merge pull request #922 from alefteris/docs-install-deps

Docs: Add six, markupsafe to install dependencies
Merge pull request #905 from Rogdham/pelican-quickstart_encoding

Encoding issue in pelican-quickstart. Fixes #904
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.
Merge pull request #924 from rptb1/add-missing-lxml-to-tox

Added lxml to the list of dependencies for the tox tests.
Add documentation for ARCHIVES_SAVE_AS setting

While this setting has existed for some time, there does not seem to
have been any documentation for it until now.
utils: Add some ISO 8601 forms to get_date()

Support the forms listed by the W3C [1].  I also removed the
'%Y-%d-%m' form, which can be confused with the '%Y-%m-%d' ISO form.
The new ISO forms can use 'Z' to designate UTC or '[+-]HHMM' to
specify offsets from UTC.  Other time zone designators are not
supported.

The '%z' directive has only been supported since Python 3.2 [2], so if
you're running Pelican on Python 2.7, you're stuck with 'Z' for UTC.
Conveniently, we get ValueErrors for both invalid directives and
data/format missmatches, so we don't need special handling for the 2.7
case inside get_date().

[1]: http://www.w3.org/TR/NOTE-datetime
[2]: http://bugs.python.org/issue6641
utils: Use pytz instead of datetime.timezone for timezones

datetime.timezone is new in Python 3.2 [1], so pytz allows us to keep
support for Python 2.7.

[1]: http://docs.python.org/dev/library/datetime.html#datetime.timezone
tests: Avoid hidden logic with better .assert*() method choices

We'll get better failure messages if we use an assertion method that
understands the comparison we're trying to make.  If you make the
comparison by hand and assertTrue(), you don't get much constructive
feedback ;).