Changes from 3.0

Changes from 3.0
  - ported manual to Scribble
  - ported to Racket 5.0
  - added a name to positive-int/c for better diagnostics
  - added immutable-string/c
  - binary-predicate/c, equality/c, comparison/c are now functions that
    expect the contract which the predicate's arguments must satisfy
  - removed hash-fn/c -- no apparent use for this class of value
  - changed to Modified BSD License

Changes from 2.2 to 3.0:
  - minor typographical adjustment to type names (no change to semantics)
  - added listof-unique/c, listof-unique-compare/c, equality/c,
    comparison/c, hash-fn/c
  - added English contracts throughout doc.txt

Changes from 2.1 to 2.2:
  - removed required-core-version and all related documentation notes, now
    no longer necessary.

Changes from 2.0 to 2.1:
  - or/c to union, to allow people to use this in 301.
  - added can-be-loaded-with setting to to allow interoperability
    with older versions.

Changes from 1.3 to 2.0:
  - require MzScheme >= 301.5 for or/c.
  - union to or/c, again.
  - added contract/c, flat-contract/c, contract-of, predicate-of

Changes from 1.2 to 1.3:
  - reverted or/c to union, since we can't rely on or/c being present in
    all v300 systems.  Have to rethink this transition.

Changes from 1.1 to 1.2:
  - Fixed packaging error that omitted

Changes from 1.0 to 1.1:
  - Added version spec to doc.txt, source code
  - Replaced union contract operator (now deprecated) with or/c
  - Added license clarification to