Ported Text Segmentation and Unicode Regex Parser

Note:
- Separating CodePoint data is still WIP. I'm sending in a PR before completing it so that the review process can start while I figure it out.
- All the tests are based on their counterparts in twitter-cldr-rb.
- Since Range is not a data type in JavaScript (yet), I made a light implementation of Range in TwitterCldr.Range. Is this the best way?

Special Note:
- Before this gets merged into the master, the data separation for CodePoint needs to be completed as injecting the CodePoint resources here makes the total bundle size ~3.4MB, which is too much. @KL-7 and I discussed this over email and agreed that Text Segmentation should be an opt-in feature that requires a spearate file (with all the CodePoint resources ~2.5MB).
Unless I'm missing something, this was the best way to have `RuleMatchData`, `Rule`, `MatchRule` etc in the `TwitterCldr.SegmentationParser` namespace (so to say). Otherwise they'd have to be in the `TwitterCldr` namespace, `TwitterCldr.Rule`, `TwitterCldr.MatchRule` etc. I just thought this was a bit better since it gives the classes a more detailed context. 

What are your thoughts on this?