Content server: Use internal redirect for single item categories

Content server: Fix single item categories not working with reverse
proxy setup. Fixes #1238987 [Calibre behind apache server sometimes returns 'localhost' URLs](https://bugs.launchpad.net/calibre/+bug/1238987)

Single item categories were using HTTP 303 redirects which are resolved to
http://localhost:8080 absolute URLs by cherrpy (since cherrypy has no
knowledge of whatever server the apache process is exposed as). SO
instead we use an internal redirect, which does not suffer from this
issue. It does mean that bookmarking the URL wil have unexpected
side-effects if the number of items in the catefory ever increases to
more than one.
Fix issue #1239527: Htmlz inline css doesn't single quote fonts & thus destroys html.
Fix issue #1239530: Htmlz conversion places <head> in <body>, not before.
Fix issue #1239555: Htmlz conversion incorrectly handles <br/>.
HTMLZ Output: Various fixes

HTMLZ Output: Fix <style> tag placed inside <body> instead of <head>.
See #1239530 (Htmlz conversion places <head> in <body>, not before)

HTMLZ Output: Fix inline styles not escaping quotes properly. See #1239527 (Htmlz inline css doesn't single quote fonts & thus destroys html)

HTMLZ Output: Fix incorrect handling of some self closing tags like
<br>. See #1239555 (Htmlz conversion incorrectly handles <br/>)

Merge branch 'master' of https://github.com/user-none/calibre