Link using abbreviations
Link using abbreviations

This adds the ability to link key concepts using kramdown's
abbreviations feature.

Syntax is:

```
*[KEYWORD]: #

Text containing KEYWORD.
```

This will result in all instances of KEYWORD being entered into the
index (as per existing abbreviation usage), but also being turned into a
link with "KEYWORD" as a target as follows:

```xml
<t>Text containing <xref target="KEYWORD"
format="none">KEYWORD</xref><iref item="KEYWORD"/>.</t>
```

A specific link target can be specified after the '#':

```
*[CONCEPT]: #introduction
```

A string that starts with '#' is split on the first space, with
everything after that being treated as index declarations, so you can
use the `((()))` syntax to use specific index targets.

```
*[KEYWORD]: # (((!primary-item,subitem)))(((other)))
```

Or just specify a specific subitem:

```
*[KEYWORD]: # subitem
```

I did not add a way to autolink without creating index entries.  I think
that if anything is worth autolinking, it's worth putting into the
index.

As part of testing this, I discovered that this would put these new
items into section headings.  Strangely, RFC 7991 allows `<xref>` in
section headings, but it does not allow `<iref>`.  xml2rfc on the other
hand does something amazing with that.  It write out the `<xref>` as
`<em class="xref">[]</em>` in HTML and adds what appears to be a
perfectly good iref anchor.

In any case, I don't see much point in doing abbreviation expansion (at
least as envisaged) in headings, so I added a toggle to make that go
away.

cabo/kramdown-rfc2629,cabo/kramdown-rfc2629