Add "updateinfo" command. (RhBug:850912)

Please note that https://github.com/akozumpl/hawkey/pull/64 is required for proper non-ASCII chars handling. And at least the version bump is needed to prevent nightly builds failures.

For the record:
- ```updateinfo info``` does not display information that is not accessible through libsolv.
- advisories may be sorted differently -- it was easier to implement
- the output formatting may be slightly different (I would say better/fixed) -- it was easier to implement
- output of any sub-commands is affected by ``--exclude`` (in YUM, it affects only ```updateinfo updates```) -- it was easier to implement
- ```enhancement``` and friends are recognized at any ```<spec>...``` position (not only at the first position like in YUM) -- it allows to filter by multiple advisory types at once
- advisory IDs and package names are also matched against ```enhancement``` and friends -- I think it makes the command more consistent
- advisory reference IDs are not matched

None of these properties are described in YUM man pages.

```updateinfo [bugzillas|cves]``` are not supported yet, because they only affect ```updateinfo list``` and they make the output very different -- I think it would be better to add a new sub-command for it.
```updateinfo [severity|recommended|new-packages]``` are not supported yet, because the are not supported on the Hawkey level.

However, I'm going to close the bug after merging these changes, because I believe that this is enough to close it.
I agree it's ugly. The whole module is ugly but I can't do it better. You mean something like
```
def _title_values(apkg_adv_insts):
    for pk_ad_in in apkg_adv_insts:
        # transform
        yield the_transformation
```
?
No problem. The only general problem I have with these requirements is that as long as you are in a single function/scope, you can store in variables anything you want. But I believe that functions have to accept and return only well-defined structures and not just lists of dictionaries or tuples. That would mean that I would have to create a new class holding the return value. But I can retreat from my belief.