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).
`for i in [0...limit]` compiles to:
`for (i = _i = 0; 0 <= limit ? _i < limit : _i > limit; i = 0 <= limit ? ++_i : --_i)`

whereas `for i in [0...limit] by 1` compiles to:
`for (i = _i = 0; _i < limit; i = _i += 1)`

for ranges of the form [<variable>...<variable>] there is a possibility that the loop counter might need to decrease to traverse the range, [10...1]. CoffeeScript, thus, intelligently makes it generic. In the use cases here, we know that the upper limit > lower limit and that the loop counter needs to increment. So, we can optimise it a bit by explicitly stating the `step` for the loop. 

Thoughts?