settings: Fix abspath existence check for path settings

The path to check is `absp`.  `p` is the setting name.
contents: Page.url_format should expose all metadata

I want to add `directory` metadata to each page in `content/pages/` to
place my non-article pages by hand:

  PAGE_URL = '{directory}/{slug}'
  PAGE_SAVE_AS = '{directory}/{slug}/index.html'

To do this, I need the `directory` metadata for formatting the URL.
Port pelican to python 3.

Stays compatible with 2.x series, thanks to an unified codebase.
Update the "how to contribute" docs with py3k info.
Revert previously erased changes
remove py2.6 support
Annotate py3k code when needed.
Use the en-us locale for functional tests
Merge branch 'master' into py3k
Merge branch 'master' of github.com:getpelican/pelican
Damn, I forgot to update travis.
Merge pull request #661 from wking/settings-abspath

settings: Fix abspath existence check for path settings
test_contents: Add tests for metadata export from Page.url_format
Merge pull request #663 from wking/url-format-metadata

contents: Page.url_format should expose all metadata
content: Convert StaticContent.filepath to .filename

For reasons that are unclear to me, StaticContent introduces the
`filepath` attribute rather than using the existing (and semantically
equivalent) Page.filename.  This has caused confusion before [1], and
it's probably a good idea to merge the two.

While I was touching the line, I also updated the string formatting in
StaticGenerator.generate_output to use the forward compatible
'{}'.format() syntax.

[1]: https://github.com/getpelican/pelican/issues/162#issuecomment-3000363
content: Convert Path.filename to .source_path

Making everything consistent is a bit awkward, since this is a
commonly used attribute, but I've done my best.

Reasons for not consolidating on `filename`:

* It is often used for the "basename" (last component in the path).
  Using `source_path` makes it clear that this attribute can contain
  multiple components.

Reasons for not consolidating on `filepath`:

* It is barely used in the Pelican source, and therefore easy to
  change.
* `path` is more Pythonic.  The only place `filepath` ever show up in
  the documentation for `os`, `os.path`, and `shutil` is in the
  `os.path.relpath` documentation [1].

Reasons for not consolidating on `path`:

* The Page elements have both a source (this attribute) and a
  destination (.save_as).  To avoid confusion for developers not aware
  of this, make it painfully obvious that this attribute is for the
  source.  Explicit is better than implicit ;).

Where I was touching the line, I also updated the string formatting in
StaticGenerator.generate_output to use the forward compatible
'{}'.format() syntax.

[1]: http://docs.python.org/2/library/os.path.html#os.path.relpath
doc: convert Markdown example to source_path and modernize
tests: Update tests after filename/filepath -> source_path
utils: Teach mkdir_p to fail if the existing target isn't a directory

Existing symlinks to directories will still pass, because isdir()
follows symbolic links.
utils: Add deprecated_attribute decorator