Regenerate the segments csv file from the Java code.

This is so that to make the format easier to read by code, e.g. all segments should have "POS:".
This commit also contains some refactoring of unit tests code.
Getting the descriptions for almost the first 10 segments of Surat Al-Baqara

- This includes some refactoring in the unit tests to make it easier to add more tests and make the code more concise.
- NounState enum was added and the segments document was updated to change "INDEF" in the morphology to "STATE:INDEF" so that we can parse the noun state and generate the correct morphology.