fix(controller): don't encode empty JSON objects or arrays as strings

The django-json-field 0.5.5 package has a bug encoding empty JSON objects.
Instead use a subclass which fixes this as a special case.

This shows up in the client this way, but the client didn't really need to be fixed IMHO:
```console
$ deis limits
=== zaftig-kerchief Limits

--- Memory
Traceback (most recent call last):
  File "<string>", line 2041, in <module>
  File "<string>", line 2037, in main
  File "<string>", line 1991, in _dispatch_cmd
  File "<string>", line 1358, in limits
  File "<string>", line 1375, in limits_list
  File "<string>", line 1498, in _print_limits
  File "<string>", line 1487, in write
AttributeError: 'unicode' object has no attribute 'items'
```

Includes unit and integration tests. Fixes #1563.