vendor/debian: fix UpdateExcusesTask

It looks like that requests' iter_lines(decode_unicode=True) doesn't work
as expected with version 2.0 deployed on tracker.debian.org and doesn't
always return unicode strings. So we bring back the manual decode in the
case where we get a binary type.

Regression introduced in 0e516aae884321adf78f2e904dc0e4ff3f9defe9.

The failure was this one:

Traceback (most recent call last):
  File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/tasks.py", line 518, in run
    task.execute()
  File "/srv/tracker.debian.org/distro-tracker/distro_tracker/vendor/debian/tracker_tasks.py", line 951, in execute
    result = self._get_excuses_and_problems(content_lines)
  File "/srv/tracker.debian.org/distro-tracker/distro_tracker/vendor/debian/tracker_tasks.py", line 859, in _get_excuses_and_problems
    if '</ul>' in line:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 19: ordinal not in range(128)
core: fix AptCache._get_apt_source_records()

flake8 reported that the "cache" variable was not used at all and I
incorrectly assumed that the whole call was not required.

Regression introduced in commit d60c73125db42ea22b9fe250a08d24d558a4029c.
vendor/debian: reduce severity of failures to parse some bug statistics
core: add the short description under the source package name

It uses the description of the binary package of same name,
otherwise it just uses the first description it finds.

[hertzog@debian.org:
* Drop at test that was redundant with
  PackageViewTest.test_pseudo_package_page()
* Add a new test in SourcePackageNameTest to ensure we return the
  correct description with multiple binary packages.
* Drop the similar test in PackageViewTest.
]

Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
core/tests: ensure Python's None never ends up displayed on the web page