Lots more changes to better support Python 3 using the
pull request from energynumbers as inspiration.
Change from using a static list of fields to a dynamic one
for DECC reports.