Use LinearDoc for segmentation

Use LinearDoc to allow apply segmentation at a structural level.
Ensure valid, well-formed HTML output.
Include inter-segment whitespace with the previous segment.
Treat references as zero-width annotations; do not segment inside them.
Do not give link IDs to links inside a reference.

LinearDoc.js
* Add segment IDs to HTML output
* Add link IDs to HTML output
* Output attributes in lexicographic order
* Add Normalizer class for test data

CXSegmenter.js
* Rewrite completely, using LinearDoc.js

Segmenter{Default,En,Hi}.js
* Basic plaintext segmenters that work well with LinearDoc segmentation

CXSegmenter.test.js
* Normalize expected/actual output before comparison

tests/segmentation/data/result*.html
* Rewrite for LinearDoc segmentation (remove some hardcoded limitations)
* Add some new tests
* Disable one test ('Mr. D. Jones'); add a new one ('The UK. The US')

ContentTranslationService.js
* Pass the source language

Change-Id: Iee6bfa499c9f23269a290df5de5e027e48746971