Adding a new field to the features column for derivation, which for now contains only 'active participle'.

This is to make easy to parse the derivation features of a segment. For example, segment 1:4:1:1 (ma`liki, مالك), had the following features:

STEM|POS:N|ACT|PCPL|LEM:ma`lik|ROOT:mlk|M|GEN

making it a bit difficult to parse the part "ACT|PTPL". After this change, the features became:

STEM|POS:N|DER:ACT PCPL|LEM:ma`lik|ROOT:mlk|M|GEN

Notice that at the moment 'ACT PCPL' is the only value for this field; other derivation features will be gradually added while I work on the morphological description of segments.
Adding toDescription() function for enum objects.

This generates a simple description for an enum value by adding spaces between the words forming an enum field. For example, if an enum field is ActiveParticiple, the generated description is "Active Participle". Notice that this assumes the enum fields to be upper camel cased, i.e. each word (including the first word) starts with a capital letter.
Support reading derivation type in Segment class.
Adding tests for parsing the features and generating the description of the segments up to the fourth verse of Surat Al-Fatiha.
Adding tests for generating the description of the fifth verse of Surat Al-Fatiha, though one test still fails.