Added Grapheme Cluster iterator (.clusters()) to StrSlice.

.gitignore:
Ignore artifacts from src/etc/unicode.py

src/etc/unicode.py:
Added code generation for new "text_segmentation" module (intended to contain the unicode word separation algorithm, too).
Note: The "break_property_table" could be made smaller and faster to query by combining contiguous, adjacent intervals.

src/libstd/unicode.rs:
Added "enum GraphemeClusterBreakProperty", which I use as a shortcut for a Map of property strings to u8. Hopefully this isn't too fragile / hacky / bad.
Exopose the new public function "text_segmentation::cluster_boundary", which takes two chars and and returns true if they represent a grapheme cluster boundary.

src/libstd/str.rs:
Added new public struct "GraphemeClusters", which implements Iterator<&'a str> over the grapheme clusters in a string.
Added new method "fn clusters(&self) -> GraphemeClusters<'a>" to StrSlice, with implementation via GraphemeClusters.