Add support for reference links to other components

Our docs have lots of links to other components, e.g.:

```md
---
title: Layout Lists
name: layout_lists
category: Layout
---

[Inline lists](/elements.html#list_inline) and
[vertical divider lists](/elements.html#list_vertical_divider)
are particularly useful when you don't know the width of the 
element you want to layout, or you want to vertically align it.

Use [Card lists](/elements.html#list_cards) if you'd like to make 
a grid of vertically and horizontally aligned cards.
```

These links are a little brittle, because we could change the name or the categories of the linked components, and then these links would be broken.

This PR adds the ability to use reference-style links between components, that follow the form `[description of link][component_name]`. These links even work for components in different categories. So the able example would become:

```md
Sometimes you might want to use lists to lay out elements on the page.

[Inline lists][list_inline] and 
[vertical divider lists][list_vertical_divider]
are particularly useful when you don't know the width of the 
element you want to layout, or you want to vertically align it.

Use [Card lists][list_cards] if you'd like to make
a grid of vertically and horizontally aligned cards.
```

If a component belongs to multiple categories, the reference link will link to the first category. For example, if "list_inline" belongs to both the "Elements" and "CSS" categories, a reference link to "list_inline" would look like "/elements.html#list_inline".

If there is a reference link to a component that doesn't exist, hologram throws a warning.

cc/ @drpep @bebepeng @stubbornella 
I've been thinking it'd be nice to have more information available to the markdown parser, but I'm not crazy about this method for passing data to it. Would we be able to extend markdown.render to take more parameters? (and does ruby ignore extra params if the a renderer was used that didn't need them?)