fix(controller): specify dicts as defaults and guard against old errors

We should have been initializing our JSONFields with dict objects, not
strings. Also upgrading from a slightly earlier version of Deis to this
change could hit a JSON encoding error, so catch that and use the chance
to clean up the data.