* Implicit relative import 'import version' to import htmloutput.version.
Use explicit relative import instead 'from . import version'.
Somehow 'from htmloutput import version' does not work for python2
when I tested this with horizon nosetest.
* Python3 dict does not has_key(). Use 'not in' instead.
* Open a file for writing with 'wb' (binary mode).
In Python 3, encode() converts unicode including regular string into
bytes. In Python 2, encode() converts unicode string into string and
string and bytes are handled equivalently. Thus, opening a file with
binary mode works both for python2 and python3.
* Decoding from string to unicode is only needed for Python 2,
so six.PY2 check is added to isinstance(x, str) if-clause.
Change-Id: Ied161e133ced1d672aba9d1a44b52034dfb676da