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.
It's more of an `import` style thing: i don't like to import an entire package if I'm using only one object from it. We also would need to reference it that way in the method:
```python
return super(json_field.JSONField, self).get_db_prep_value(value, *args, **kwargs)
```
I really don't care, I think the potential here for confusion is low, but I'm glad to change it.