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.
> What if someone has /downloads/example.zip and /downloads/tutorials/example.zip and use {attach} for both?

The same thing as what happens today if someone overrides two files with the same save_as path. (They can do this with `EXTRA_PATH_METADATA`, for example.) I imagine Pelican will overwrite one of them. It should probably generate a warning, but looking at the `StaticGenerator` code, I see that it doesn't. I suppose that's a long-standing problem.

Hm... `{attach}` didn't create this problem, but I expect it will make it more likely to come up. This might be a good time to add the missing warning to `StaticGenerator`.