Allow markdown in crate docs.

This makes the `in-header`, `markdown-before-content`, and `markdown-after-content` options available to `rustdoc` when generating documentation for any crate.

Before, these options were only available when creating documentation *from* markdown. Now, they are available when generating documentation from source.

This also updates the `rustdoc -h` output to reflect these changes. It does not update the `man rustdoc` page, nor does it update the documentation in [the `rustdoc` manual](http://doc.rust-lang.org/rustdoc.html).
imports are relative to the root of the crate by default (equivalent to `/...` in a file system) and `markdown` is declared at the root. The relative import works, but it's not necessary. (This is like being in a directory `/html/render` and accessing `/markdown/load_external_files` via `../../markdown/load_external_files` but instead `/markdown/load_external_files` works and is simpler.)

> Also, to dive a bit deeper, I wanted to avoid copy-pasting this function when it was available in another module but, in doing so, I've made it publicly available through the rustdoc crate. Is that OK?

Yes, but it would be nice to avoid it.

> Should I, instead of using use statements, simply be copying the source of this function (and the macro/function it depends on) to the render.rs file?

No definitely not.

> I tend to think this should be refactored to avoid exposing it unnecessarily.

Yep, my longer comment on the PR itself addresses by putting the loading into one place.