Utterance-DA alignment in HDCSLU

Adds alignment between abstracted utterance and corresponding dialogue act items. Basically adds to each DAI a set of indices of words, that support the given DAI, into the `_alignment` field.

The DAIs with value are simply aligned to their respective values. Possible enhancement would be to include also surrounding words that influence the DAI. 
E.g.: to DAI `inform(to_stop="Karlovo náměstí")` we could align `do zastávky STOP=Karlovo náměstí` instead of just `STOP=Karlovo náměstí`. But this may not be worth the trouble.

In order to align words without values, class `DAIBuilder` was introduced, which duplicates the `PTICSHDCSLU` word matching functions, but adds side-effect of tracking the matched words. These are than supplied to `DialogueActItem` when it's created using  `DAIBuilder.build` method.

I also took the liberty of fixing a few PEP8 violations and extending some docstrings in the process.
Is this notation useful for PyCharm or some other IDE?