Disallow duplicate type variable declarations

Closes PR 13416

Please merge to 5.3.2
scribble: add `+m' / `++main-xref-in' flag

The `+m' flag is a long-overdue shorthand for `++xref-in setup/xref
load-collections-xref', which links to installed documentation in
the same way as DrRacket's "Scribble HTML" button.

That is, use `+m' to link to installed documentation,

  scribble +m mine.scrbl

instead of the previously recommended

  scribble ++xref-in setup/xref load-collections-xref mine.scrbl

Merge to 5.3.2
Use correct contract for Procedure type

The only problem with this contract is that it does
not produce a very good error message
Doc fix

Closes PR 13420

Please merge into 5.3.2
2012 -> 2013
Update URLs again to r-l.o domain
pkg - Adding explanation of github supporting tags
pkg - Improving error message on bad github urls
Extending raco test to work on collections
test - Supporting packages in raco test
Correct location calculations for non-terminals.

The prior code constructed the location of nonterminal maches out of
the the state of the stream after parsing.  This isn't right for a few
reasons:

    1.  It doesn't get starting location correctly.

    2.  It doesn't behave when the non-terminal production did not
        actually consume tokens for its parse.

This patch modifies the parsers to also pass along a
"last-consumed-token"; it, along with a few other changes, provides
the parsers enough information to accurately construct the locations,
even when no tokens have been consumed during the parse.  We
synthesize a sentinel last-consumed-token token to take location from
the head of the stream.
MPFR custodian shutdown procedure tries to clear the constants cache
even when MPFR isn't loaded; this should close PR 13423
Fix polydots

 - parsing of polydots values was fixed
 - certain polydots error cases are now reported
 - the custom application rule for values was fixed

Closes PR 13365

Please merge to 5.3.2
Change exception predicate for a test

For some reason, the other predicate breaks on some
test setups, even though it usually succeeds.

Please merge to 5.3.2
Use Racket lexer for code blocks.

Had been specifying Scheme lexer for code blocks, while waiting for
new Racket lexer to wend its way from Pygments to Pygments.rb to
Linguist to GitHub.

That day is almost here: Linguist will soon update and deploy to
GitHub.  And Racket 5.3.2 is about to release.  As a result, I think
this is the correct time to switch to the Racket lexer: It should be
live on GitHub by the time people are using Racket 5.3.2.

/cc @rmculpepper -- I think this commit should go into the 5.3.2
release.
scribble/decode: fix contract on `decode-compound-paragraph'

Add a test suite that at least tries each export of `scribble/decode'.

Merge to v5.3.2
scribble doc corrections

Merge to v5.3.2
readline/readline: add `readline-newline' and `readline-redisplay'

mzrl.rkt:
  Add and provide readline-newline and readline-readisplay.

readline.scrbl:
  Documentation and example code.
It fixes a crash on OpenBSD

It fixes a crash in the installation on OpenBSD. Racket reaches the
limits of the shell when it is compiled with a non-root user account.

Tested on OpenBSD-current amd64.

Merge to v5.3.2
Working with links in collection testing