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.
I couldn't think of a comment, that would make the code comprehensible, so in the end I refactored it to explain itself