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
Removes extranious debug statements
Per pkhoung, removes the union-find for confusables

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

Also adds tests for confusable detection and removes
LIST-ALL-CONFUSABLES, which never really worked anyway.
Add comment about buglet in FIND-DEFSTRUCT-DESCRIPTION.
Remove detritus from pretty-printer dispatch mechanism.

COMPUTE-TEST-FN's implementation was largely historical baggage due to
the CONS type specifier only existing in the atom form as far as the
language was concerned. Discriminating on CAR was just for the pprinter.

*PRECOMPILED-PPRINT-DISPATCH-FUNS* didn't work as intended.
It assumed that the first argument to SET-PPRINT-DISPATCH might match a
known entry, but not only was the FUNCTION-CALL type never used for a
builtin entry, it is neither a type-specifier nor external symbol.
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
Removes extranious debug statements
Per pkhoung, removes the union-find for confusables

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

Also adds tests for confusable detection and removes
LIST-ALL-CONFUSABLES, which never really worked anyway.
Integrate pkhoung's comments on the confusables code.

Conflicts:
	src/code/target-unicode.lisp
Fixes #!-sb-unicode build and tests
Merge branch 'ua-integration' into unicode-algorithms

Conflicts:
	build-order.lisp-expr
	package-data-list.lisp-expr
	src/code/target-char.lisp
	src/code/target-unicode.lisp
	tests/reader.impure.lisp
	tests/unicode-misc.pure.lisp
	tests/unicode-properties.impure.lisp