Make srfi/19 compatible with date* structs

 - srfi/19 functions now produce and accept date*s
 - some functions produce lax-dates for backwards compat.
Rackety
Delete trailing whitespace
Replace copyright notice with correct one

This is the copyright notice that is provided in
the official SRFI implementation rather than the SRFI
document license.
HISTORY update
Typed modules as languages doesn't currently work.
Use `syntax-procedure-alias-property` with struct constructor procedures as well.

This uses a new `racket/private/procedure-alias` module
which provides the relevant symbol via `protect-out`.
Clarified the purpose of quote-module-name and quote-module-path in the Scribble docs.
Added quote-srcloc-string and quote-srcloc-prefix to syntax/location.

Also cleaned up implementation; only generates syntax for requested part(s) of
source location, and is more intelligent about calculation of relative paths.
Wrote documentation for quote-srcloc-string and quote-srcloc-prefix.
Fix register-struct-bindings! to meet correct contract.

Please merge to 5.3.2.
20130115