Fixes regression when handling QStrings

With PyQt4, the element.attribute('type') can return a QString object,
which does not provide the Python `lower` method. This patch casts to a
Python string object in order deal with the PySide vs PyQt4
inconsistency.
Don't wait for the download to finish.

This patch fixes a problem, that the finish signal is never emited,
until the data has actually being read. Since we're reading all at once,
we don't need to wait for the finish signal.