Rewrite abstraction and SLU of time expressions

Abstraction recognizes NUMBER category label instead of TIME, i.e. individual numbers are abstracted instead of whole time expressions, so that more useful information is preserved for SLU, where more flexible and informed matching is possible.

Add support for reversed form ("dvaadvacet"), one-word form ("dvacetdva"), alternative pronounciations ("sedum") and some additional inflections ("devatenácté").

Where obvious, time expressions are correctly abstracted as TIME category and interpreted even without prepositions and time words ("šestnáct nula nula"). Otherwise, NUMBER category is used for future use (e.g. for route numbers or selection of alternatives).

In PTICSHDCSLU, extract utterance preprocessing  from `parse_1_best` to `preprocess_utterance` so it can be called in gen_uniq script. Remove useless `if self.preprocessing:` check, as it's already accessed in constructor.

Implement `__setitem__` method to `Utterance` to allow rewriting of NUMBER words to TIME words.
Oh, you're right.  I would then consider just in-lining the method since it's only two lines  anyway and it's not used anywhere else... to me, `preprocess_utterance` composed just of `normalize` and `abstract` and returning both normalized and abstracted utterance is a bit confusing.