In Py3 decode the output of base64.decode

The return from a base64.encode in python 3 is bytes. Bytes cannot be
json.dumps() so when we base64 encode some data we need to convert it
to a string before passing it through to the request layer.

This isn't shown by unit tests because the fakeclient mocking layer
intercepts the request before it gets to the json encoding code.

Closes-Bug: #1323450
Change-Id: Ibbbb24f64c17069178e3bf0ee9998b806bc629ff
Merge "In Py3 decode the output of base64.decode"