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.
Move comments above the corresponing code to make it less dense
Rewrite interpretation of TIME=now to be more comprehensible

Remove time_abs/time_rel condition, because we assume absolute time by default
Moved TIME=now check into a single block of code
Inline `preprocess_utterance` method back to `parse_1_best`

Only two lines and used only on two places.
See:  https://github.com/UFAL-DSG/alex/pull/77#discussion-diff-18813785

Changed gen_uniq to switch DA/abstraction output by variable instead of comment
Split `if` expression to two line to be PEP-8 compliant
Merge pull request #77 from jakub-stejskal/time_abstraction

Rewrite abstraction and SLU of time expressions