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 am in favor of the current implementation. The goal of the `{attach}` syntax is to specify that the linked to file should be moved into the published article/page directory when the site is generated. In this case, the relative position of the input is specified, and `{attach}` means that the position of the output should be in the same directory as the `.html` file being output. Unless we wanted to further complicate things and allow an arbitrary relative path to input and then an arbitrary relative path to output, I think this behavior is sufficiently clear and covers the primary use case that has been brought up in several issues.