Something related to Google Chromecast is broadcasting invalid MDNS packets (sigh). Make calibre's MDNS stuff tolerate them without flooding the log with exceptions.
Merge branch 'master' of https://github.com/cbhaley/calibre
PDF metadata: When updating the XMP metadata in PDF files, compress the metadata written to the PDF. This is particularly useful when the PDF file has an existing XMP metadata block with very large amounts of data in it. Fixes #1341549 [Embed Metadata for PDF consistently adds 0.5MB to book size](https://bugs.launchpad.net/calibre/+bug/1341549)
AZW3 Input: Workaround broken AZW3 files produced by kindlegen that use uppercase attribute names. Fixes #1341306 [Some links fail to convert from kf8 to epub](https://bugs.launchpad.net/calibre/+bug/1341306)
Update The Hindu
Port compiling of .ui forms
Port imports
Port build script for building PyQt extensions to PyQt5
Port the progress indicator extension to PyQt5
Allow controlling PyQt5 import path via the env var PYQT5_IMPORT_PATH
faster builds
Get rid of the PyQt4 string from everywhere
Port: setMargin() reset() QStringList()

setMargin(): QLayout no longer has a setMargin() function, replace with
setContentsMargins()

reset(): QAbstractListModel no longer has reset(), replace with
beginResetModel(), endResetModel()

QStringList: No longer exists, a simply python list of strings works
instead
Fix mouse wheel not working in diff view
Port coffeescript compiler
Add note about headless Qt QPA plugin
Port WebKit imports and QChar

WebKit has been split up into QtWebKit and QtWebKitWidgets. Change
imports accordingly.

Replace use of QChar since it no longer exists in PyQt5
Port syntax highlighters
note about creating import checker
...