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.
This (+the next lines) feel a little bit too dense. I have no objection to the code itself, but I'd add some empty lines and/or make the lines a bit shorter (they won't even fit into the github review column, I have to scroll).

I'd suggest moving the comments (# FRAC ... etc.) to their own lines above the code they relate to.