source-lang 1.0.2

Source file and buffer management with multi-file source maps.
Documentation
# source-lang v1.0.2: one map per compilation

**Documentation patch.** No code changes. The public API and its behaviour are
unchanged.

## Changed

### A `SourceMap` belongs to one compilation

A `SourceMap` lays every source end to end in one 32-bit position space and
never gives a range back. It also keeps each source's text for as long as the
map lives. That is what lets every `SourceId` and every global span it has
handed out keep resolving, but it means a map only grows.

That suits a compiler run. It does not suit a long-running editor or language
server that adds a new revision of a file to the same map on every edit: the
map would keep every revision in memory, and after 4 GiB of cumulative text
(a 1 MB file edited about 4,000 times) `add` returns `SpaceExhausted`.

The crate docs, the `SourceMap` rustdoc and `docs/API.md` now say this plainly
and give the pattern to follow: build a fresh map for each revision you analyse,
and drop it when the analysis is done.

## Upgrading

```toml
[dependencies]
source-lang = "1.0"
```

No code changes are needed.