Improves Unicode support and upgrades SBCL's database to Unicode 7.0

Does not introduce any breaking reader or printer changes.

Adds an SB-UNICODE package that holds accessors for the internal
database and many Unicode standard algorithms.

Some Unicode-related tests will not pass on this commit because
the #\UNICODE1_[NAME] syntax is not recognized.

Squashed commit of the following:

commit 6d8f72f21c29d25986325cd4bcd19b7c195f196b
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jul 30 11:42:41 2014 -0500

    Fixes compliance issues related to the BIDI class of unallocated codepoints

commit 601aee5ed52779f37e9d9e4c3f091062da73f0e5
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 29 16:55:28 2014 -0500

    Adds test to ensure CL casing is one-to-one

commit 5232c20071254b61d32a82314a39f00c194f46e4
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 29 16:42:01 2014 -0500

    Fixes typo that breaks the build

commit 56d5757689c1c36e82a7d5c0b0443015240e129d
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 29 16:36:22 2014 -0500

    Adds age support

    - Exports SB-UNICODE:AGE
    - Modifies misc database

commit 42afd5ace1a8aaba75f3e47f4a4a004f0e34c9e9
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 29 13:07:48 2014 -0500

    Adds block information

    - Adds ORDERED-RANGES-POSITION
    - Adds SB-UNICODE:CHAR-BLOCK

commit 1844ae409086d0fa61a324340c99158bc2137087
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 29 12:07:53 2014 -0500

    Replaces membership tests with binary searches in target-unicode

commit e208231dc9716760670d30fccedc8e37dcec5083
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 29 10:50:01 2014 -0500

    Adds unicode-1-name support

    - Exports SB-UNICODE:UNICODE-1-NAME
    - Allows specification of characters by Unicode 1 name with UNICODE1_ prefix

commit b881c531e10cd90fedd99f4e43c11807da578c6d
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jul 28 17:08:08 2014 -0500

    Adds BIDI mirroring glyph support to further cl-unicode compatibility.

commit c56683490d2005cb29f945ba53e7eea296aa4e06
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jul 28 15:19:06 2014 -0500

    Adds general PropList.txt support for cl-unicode and HEX-DIGIT-P.

    - Exports PROPLIST-P
    - Exports HEX-DIGIT-P
    - Adds tests for the Proplist slurping.
    - (proplist-p c :whitespace) -> :white-space,
    and :other-default-ignorable -> :other-default-ignorable-code-point

commit 01ddeaeb7db2426b684c80337ad5b52f2f38d155
Merge: 39e51a8 39d0843
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jul 28 09:33:48 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit 39e51a8dac81472849a04db76c2ec786ba4a7ed9
Merge: e528868 80e9a6e
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jul 23 10:13:28 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit e5288682849ed64d29d29d48f4b946ad925d0637
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jul 23 10:12:00 2014 -0500

    Gives U+1F5CF the name Unicode_Page

commit 4d45ce46c949a5e947e5d499d8d34eee490ea38c
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 22 15:42:38 2014 -0500

    Clarifies documentation

commit 15750e5e0c9f58680eed7aca39f063bbd8004ae8
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 22 15:39:50 2014 -0500

    Deals with the issues caused by U+1F5CF (PAGE)

    We mignt not be exactly Unicode-conformant anymore.

commit 59f1000139a852dc8949c51aa6078929c36653dd
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 22 13:13:47 2014 -0500

    Converts SBCL's Unicode database to use Unicode 7.0 data files

    - Adds new scripts to target-unicode.lisp
    - Adjusts parsing code in ucd.lisp to accound for newly-inserted spaces
    - Updates data files
    - There is a bug with name conversion. U+1F5CF (PAGE), a new character,
    tries to have the same name as U+0C, which ANSI Cl says has to have the name
    "Page".
    Issue currently unresolved, causes tests to fail.

commit a9876e9a5fd9a2646de80d823b1d6e2939582ee1
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 22 10:49:27 2014 -0500

    Updated defininion of case-ignorable for Unicode 7.0

commit 898da4d3cad5c0428af01d135304f2dfb74bfef4
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jul 21 15:35:24 2014 -0500

    Adds MATH-P to SB-UNICODE

commit 326a2b4d5182d1fc3b367d9dbb4c4a1b7dd5c226
Merge: 6019f05 d12f538
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 15 13:57:29 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit 6019f05e8f36460acfb595b65659122f7c10e2c3
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri Jul 11 11:16:08 2014 -0500

    Add Unicode casing tests

commit 041681637bbb9b611e933716c8a7cff0bce29161
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri Jul 11 11:15:42 2014 -0500

    Fix the reader so that normalization tests pass

commit 5ae54f45fe338bc9f4e0048600a48cffbff84bdc
Merge: f38a831 fe1e638
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri Jul 11 09:36:30 2014 -0500

    Merge branch 'master' into unicode-algorithms

    Conflicts:
    	src/code/reader.lisp
    	src/code/target-char.lisp

commit f38a831a1b809cef8696cc0955410988e63264e5
Merge: 5623de6 8170663
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jul 1 07:25:02 2014 -0500

    Merge branch 'master' into unicode-algorithms

    Conflicts:
    	src/code/target-char.lisp

commit 5623de6a737c33e3548bbff095a4aa01bc0d44e1
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu Jun 5 13:25:15 2014 -0500

    Minor formatting fix

commit d9eabf4ee6c1b373e665c4857326dc86a26e4a53
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 18:20:00 2014 -0500

    Improves locale detection

commit 1b606fa2eab91b474faa2b13b6cf0dbf7b0f8839
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 17:30:13 2014 -0500

    Adds locale detection to casing functions.

commit 440109752fe1ff6f04a9e587ab3a47b13e29ed1d
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 14:11:58 2014 -0500

    Optimizes the normalizer a bit.

commit c36994d3c740e0f66f2f77b3fd0ffed0682f57f3
Merge: d624870 637119d
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 13:55:02 2014 -0500

    Merge branch 'normalizing-reader' into unicode-algorithms

commit d624870aaf4e235ebbd999a14ffa6664807e8401
Merge: 1fe33e8 615be91
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 13:54:51 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit 637119d9a242ff5136c0ddc00b6f40bc61fa0ece
Merge: a5acc38 615be91
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 13:54:20 2014 -0500

    Merge branch 'master' into normalizing-reader

    Conflicts:
    	src/code/reader.lisp

commit a5acc38c0657ecfea821128805262e0e033c3367
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 12:40:15 2014 -0500

    Adds READTABLE-NORMALIZATION to control whether the readtable normalizes strings.

commit 77ace120bb10b1826873920ee1707e9af4c6b2a6
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed Jun 4 11:49:18 2014 -0500

    Makes the reader normalize unescaped symbols to NFKC before interning them.

    Makes the printer print symbols that aren't NFKC in escapes.

commit 1fe33e8569536494176d977a0b5e86a10424b83e
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jun 3 10:12:56 2014 -0500

    Optimizes normalization, fixes property tests

commit e78d05d138a08bc171af2e42f9ae8975b92efe25
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue Jun 3 08:58:40 2014 -0500

    Adds Default_Ignorable detection

commit a9813ad037c037828323dc52835314327e9a7a1a
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jun 2 17:23:20 2014 -0500

    Fixed broken documentation

commit cf261b0f5ed600d1b362694e86b76df11c68bea1
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jun 2 16:11:33 2014 -0500

    Adds functions that detect confusable strings.

    LIST-ALL-CONFUSABLES is implemented, but it's O($DEITYhelpus) for any
    input with more than a few letters. Suggestions welcome.

commit bbf03ed4fc4da725729e4c64c3ff39d77948adfd
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon Jun 2 14:57:13 2014 -0500

    Adds a union-find data stracture to hold the IDNA confusable sets.

commit d62e7aa621f20b7d0868adbcabc59d45e9964a90
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 30 14:41:03 2014 -0500

    Rename DECIMAL-DIGIT for consitsency with the other digit functions.

commit 0a22348a7750a2a0b2c3781ead9c71588109cf44
Merge: a68b331 a42a2c6
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 30 12:14:31 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit a68b33153328bb3ccace22e838e2a7f9a60ed59f
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 30 10:38:23 2014 -0500

    Adds proper language-independent casing support, fixes Greek final sigma.

commit cd4ff239c0de12f56fb181175d31e5918536a89e
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 29 16:18:58 2014 -0500

    Use code-chars to work around broken build introduced in last commit.

commit 7d600068bdc6a7eb9750a8c010b9f0681528b708
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 29 16:12:02 2014 -0500

    Adds handling for the Greek final sigma in word-final position.

commit 68a21aea9cd72b200f438a6aa8b13a64648b1c47
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 29 13:23:11 2014 -0500

    Adds the greedy linebreaker.

commit 16befd034dcdc0af125be52e255e3fef17bfd7c3
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 29 11:17:58 2014 -0500

    Adds the line break analyzer.

    - Several tests removed from the testcases beacuse they conflict with
    the rules in the standard. See any line in LineBreakTest.txt with a
    comment starting in ### for details.

commit cb03fc5601093e09ce4a5db1a9002314a773bd13
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed May 28 13:53:16 2014 -0500

    Adds the line break class property

commit 76312eaa777ee1141346b87178280f78e019263e
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed May 28 09:26:55 2014 -0500

    Adds script property support.

commit 64400ab64d24fc04e9aa758f3d9ef74cddbe7e41
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 15:59:01 2014 -0500

    Bugfix for the bugfix

commit 617c97a9ba372e64668a2ce9eba79de5e10e0cdf
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 15:26:17 2014 -0500

    FIxes some collation bugs.

commit 2affc41e371f2820a07fe05fb480961b92e2365f
Merge: 9cebdb5 36efb16
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 13:39:51 2014 -0500

    Merge branch 'plus-in-character-reader' into unicode-algorithms

commit 36efb163607e64386cd5bc65d1e22bad64d81ddc
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 13:37:49 2014 -0500

    Makes codepoint parsing in #\ more general.

    Unicode characters can be specified by codepoint with these forms

    - #\U[codepoint]
    - #\u[codepoint]
    - #\U+[codepoint]
    - #\u+[codepoint]

    Codepoints are no longer restricted to being either 4 or 8 digits
    long.

commit 9cebdb5351241c72afbe7c0589a12ffaea0ea082
Merge: 9389e10 8127fc9
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 13:33:04 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit 9389e10a410c5994a7c0926b2cd9eacdca60bac1
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 12:02:08 2014 -0500

    Updated some docstrings

commit b452ef358cab9cac3aa6c812f4dd4cc763db54e3
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 27 11:39:45 2014 -0500

    Adds functions that collate Unicode strings according to UTS #10.

commit 71697d577937ceb405547807067df13200cd1e00
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 23 17:11:51 2014 -0500

    Adds code to read the dumped collation database.

    Collation algorithm not yet implemented.

commit d7c5f8e6530682158e3002de9f2e089152bdbc4c
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 23 12:36:49 2014 -0500

    Add code to output the collation database to ucd.lisp

    The database is a UB32 with length tags stuffed into the high bits of the first codepoint in each entry.
    Collation keys are packed into a 32-byte entry

commit 164a56a98dc71bd4db29f0d724e2023971bc9194
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 22 21:37:12 2014 -0500

    Efficiency improvements as suggested by the IRC

commit 7d58fddb9c6d951409113a6e3cffde775f239882
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 22 14:47:15 2014 -0500

    Add documntation for SB-UNICODE.

    Now no one can complain about me not writing any.

    Also removes some trailing whitespace in tests.

commit daedb709b990d63216bd983e5dcc4b3018fb05b0
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 22 14:02:58 2014 -0500

    Adds tests to make sure that the break types are encoded correctly.

    - Also fixes some bugs exposed by those tests

commit bdda9bcf194b7db5121a6033b7b8c0815763d871
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 22 10:48:39 2014 -0500

    Adds the EAST-ASIAN-WIDTH function

commit 354d777d720ce000caa489b67cc8b2a5c754d844
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed May 21 17:45:54 2014 -0500

    Adds Unicode sentence breaking at SB-UNICODE:SENTENCES

    I'm not proud of these functions, but they work.

    Tests were added to unicode-breaking.impure.lisp

commit 99f09b6492cbe74729c2455d4812660f9495e97f
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed May 21 12:16:42 2014 -0500

    Adds SB-UNICODE:TITLECASE

    Also slightly optimizes some of the lookups in word and grapheme breaking.

commit 83f77154aada690f5170685d373fd79fe729df03
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 20 19:57:13 2014 -0500

    Adds word breaking, defining SB-UNICODE:WORDS

    - Tests for word-breaking are included and pass

commit 227a8075e15ddd2e348dfcf078d93916cfd6cce7
Merge: 531ada6 54ea3bf
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 20 14:15:26 2014 -0500

    Merge branch 'master' into unicode-algorithms

commit 531ada6d2208072fea9ebc7e26c46a051b292d64
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 20 14:14:06 2014 -0500

    Adds functions for accessing several of the properties from PropList.txt

    - Also changes GENERAL-CATEGORY and BIDI-CLASS to return keywords, not strings

commit 1933bfd9d9309b5aad0d6ac081023b2a74047fb3
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon May 19 18:46:05 2014 -0500

    Adds tests for grapheme breaking and makes them pass

commit 8694b8f7e8fc83d8267042ee1ccd123c9e00abdb
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon May 19 17:46:39 2014 -0500

    Implements grapheme breaking from UAX #29

commit 86cb8e5b23faec8c2e8b912a9ceefa2de2720109
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon May 19 16:02:53 2014 -0500

    Adds a HANGUL-SYLLABLE-TYPE function.

commit 72359cbdb05aa069cb15494bb1c1df2b134c2ce5
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon May 19 14:30:31 2014 -0500

    Adds Unicode uppercasing, lowercasing, and casefolding.

commit af99aee4a2216f00a5abecaca2b89f2d6ead84ba
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon May 19 11:42:53 2014 -0500

    FIxes various bugs in the database rewrite and adds documentation.

    - The build no longer fails because of lack of argument coercion in equal-char-code
    - Various adjustments made to normalization so those tests pass
    - Several minor bugs in ucd.lisp resolved
    - NormalizationTest.txt updated to Unicode 6.3 (no changes)
    - The new database is documented

commit 15070304ff63d2cee3fc081789faf4f29b8c8151
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Sat May 17 18:45:30 2014 -0500

    Fixed some issues with the character database.

    Most properties now look up properly.

    Build broken in PCL.

commit c4ac96922703a2ca0112807d0411ab9ba0fd2f94
Merge: e0309c6 ebcbcdd
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Sat May 17 17:57:12 2014 -0500

    Merge branch 'master' into database-rewrite

commit e0309c69a15e7f464225539b9b9ed72c193adf06
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 16 13:31:04 2014 -0500

    Updates the Unicoed package to use the new database.

    BUild still broken, documentation still nonexistent.

commit 4fbc5af6e82840a53c2c82eff5d891cd1ec2a888
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Fri May 16 12:16:30 2014 -0500

    target-char.lisp now compiles.

    The documentation rewlite is on the way.

commit 59efbdf535eaaa80d4747ea24c912342ba0d15dd
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 15 17:01:01 2014 -0500

    Adjusts the case pages to make the list shorter.

    This trades a much shorter list lookup for a need to enlarge the hashtable.

commit 9ae0e2c1115b4e914f5176f104d5deb8b8410758
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Thu May 15 15:37:14 2014 -0500

    Rewrites the Unicode database to be more robust, part 1

    There is currently no nice explanatory ASCII art comment for database
    access. That comes in a bit.

    Features of the new database:

    - Supports Unicode 6.3
    - Incorporates full Unicode casing information
    - Is somewhat more extensible
    - Uses fewer magic numbers
    - The database is split into multiple arrays, so one part can be
      changed without adjusting the whole thing

commit 7c459b7493d87cafe5a331388f948a8d506e6aa8
Merge: 04e36dc 7a795d6
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed May 14 10:34:04 2014 -0500

    Merge branch 'unicode6.3' into database-rewrite

commit 04e36dc499699e34c4cf0b0291770e190ec89985
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Wed May 14 10:01:08 2014 -0500

    Removed workaround case in tests

commit 7436bc344caf282c160e5adfc74689111cca85d1
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 13 17:01:55 2014 -0500

    Removes the mapping between BELL and #\Bel to fix Unicode

    Unicode encodes U+1F514 (named BELL), which conflicts with the alias
    "Bell" -> #\Bel defined in target-char.lisp. This causes
    (name-char (char-name (code-char #x1F514))) => #\Bel not #\BELL
    (U+1F514) as expected. This ambiguity had to be resolved by either
    removing "BELL" -> #\Bel or "BELL" -> U+1F514. Discussion in IRC led
    to the determination that removal of the #\Bel alias was the best
    course of action.

    This is a breaking change. If it affects you, please raise the issue
    for further discussion.

commit 1953800b9b497c6d2d12c5550c02b453f4870406
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 13 09:04:20 2014 -0500

    Remove trailing whitespace in two files

commit a8651a2e49823b026776c44e55a2ec3f952d1880
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Mon May 12 17:52:08 2014 -0500

    Ombibus initial commit for the SB-UNICODE package

    - Adds src/code/target-unicode.lisp to the build order

    - Defines a new SB-UNICODE package and adds it to the list of packages
    to generate docstrings for

    - Moves SB-IMPL::NORMALIZE-STRING and its dependencies to the
    SB-UNICODE package and exports it

    - Defines public accessors for several of the properties in
    UnicodeData.txt

    - Adjusts the Unicode normalization tests to account for the new
    location of NORMALIZE-STRING

    - Adds tests for the newly-defined property accessors

commit 7a795d6818edc80f0cb27b9004255b5164df8b91
Author: Krzysztof Drewniak <krzysdrewniak@gmail.com>
Date:   Tue May 13 10:02:32 2014 -0500

    Unicode 6.3 support, but the build is broken somehow
Add new supported syntax to the #\ reader

The #\ reader now supports specifying a Unicode codepoint as:
- #\U[codepoint in hex, arbitrary leading zeroes]
- #\U+[codepoint in hex]
- #\[Unicode name, with spaces replaced with underscores]
(this behavior was already supported)
- #\UNICODE1_[Unicode 1 name, when applicable]
Make the reader normalize unescaped symbols to NFKC

- The printer prints non-NFKC symbols escaped
- The reader normalizes any unescaped (parts of) symbols to NFKC
- SB-EXT:READTABLE-NORMALIZATION controls whether the reader performs
normalization
- The reader conses, so the non-consing reader tests are removed.
Removes extraneous debug statements
Per Paul Khuong, removes the union-find for confusables

Union-find was deemed on overly-complex way to store confusable
information.

Also adds tests for confusable detection and removes
LIST-ALL-CONFUSABLES, which never really worked anyway.
Fixes #!-sb-unicode build and tests
Restores non-consing reader behavior with normalization enabled

- Restores the non-consing reader test
- Adds a flag to TOKEN-BUFs to track whether the buffer only contains
BASE-CHARs
- Uses the new flag to short-circuit normalization on ASCII-only strings
Move symbols common to SB!IMPL and SB!UNICODE to SB!INT
Refactors the Unicode 1 names into a separate database

- All names share a common HUffman tree
still fixing host most-fooative-fixnum leaks

the two substantive fixes here (adding tasteful sb!xc package
prefixes) make src/code/late-extensions compile identically
under clisp and sbcl host compilers.
plug one more xc leak

using the results of INTERSECTION / SET-DIFFERENCE in macros can
lead to differences in fasls, for example from recording source.
Deterministify using SORT.
Allow :sb-thread build on openbsd for adventurous souls.

Things seem to more or less work on x86-64, but x86 and ppc still need
work.
Help the thread tests pass on openbsd.
99 host compiler leaks, I got 'em

take one down, pass it around, there are probably still 99 of
them.  (There's probably a case for doing to GENSYM what we do
to BYTE and BOOLE, but this is good enough for now).

With this change, there are 8 files left in an x86-64 build with
differing outputs from sbcl and clisp as host compiler.

Several of them are, I think, to do with dumping of literal alien
type structures; one of them is a difference in the
ucdmisc binary database; one or two of them are even more
mysterious.
improve reproducibility of unicode databases

sort some hash-table contents before output.  We're still not
quite there for a reproducible target-char.lisp-obj, but we are
closer.
Fix typo in C preprocessor undef
Delete redundant function