Upgrade to Unicode 6.0.0.
makeunicodedata.py: download all data files from unicode.org,
  switch to extracting Unihan data from zip file.
  Read linebreakprops and derivednormalizationprops even for
  old versions, even though they are not used in delta records.
test:unicode.py: U+11000 is now assigned, use U+14000 instead.
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index ff90745..5e96ba8 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1349,7 +1349,7 @@
 
     def test_printable_repr(self):
         self.assertEqual(repr('\U00010000'), "'%c'" % (0x10000,)) # printable
-        self.assertEqual(repr('\U00011000'), "'\\U00011000'")     # nonprintable
+        self.assertEqual(repr('\U00014000'), "'\\U00014000'")     # nonprintable
 
     def test_expandtabs_overflows_gracefully(self):
         # This test only affects 32-bit platforms because expandtabs can only take
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
index d7a1eca..fd8a4c6 100644
--- a/Lib/test/test_unicodedata.py
+++ b/Lib/test/test_unicodedata.py
@@ -21,7 +21,7 @@
 class UnicodeMethodsTest(unittest.TestCase):
 
     # update this, if the database changes
-    expectedchecksum = '4504dffd035baea02c5b9de82bebc3d65e0e0baf'
+    expectedchecksum = '21b90f1aed00081b81ca7942b22196af090015a0'
 
     def test_method_checksum(self):
         h = hashlib.sha1()
@@ -80,7 +80,7 @@
 class UnicodeFunctionsTest(UnicodeDatabaseTest):
 
     # update this, if the database changes
-    expectedchecksum = 'e89a6380093a00a7685ac7b92e7367d737fcb79b'
+    expectedchecksum = 'c23dfc0b5eaf3ca2aad32d733de96bb182ccda50'
     def test_function_checksum(self):
         data = []
         h = hashlib.sha1()