Let documents {attach} static files. Fixes #1019.

Until now, making static files end up in the same output directory as an article that links to them has been difficult, especially when the article's output path is generated based on metadata. This changeset introduces the `{attach}` link syntax, which works like the `{filename}` syntax, but also overrides the static file's output path with the directory of the linking document.

It also clarifies and expands the documentation on linking to internal content.
I disagree about preserving a folder structure unrelated to the linking document. Transplanting such a structure into the document's folder essentially destroys the original hierarchy, rendering it meaningless.

More importantly, one of the main points of this feature is to make it easy to pull static files into the same directory as the document that uses them. Considering that Pelican has until now forced users to keep all their static files in a separate directory, the change you suggest would force them to manually relocate all their existing files in order to get the desired output. Pushing more work on the user is something I want to avoid.

You might have a point about the confusion, though. For the sake of simplicity, I'd be willing to remove `downloads/archive.zip` from the example.