Better handling of FileFields stored in containers

Adds a `get_proxy_obj` method to FileFields to make adding files to a container a bit more convenient. Also `ImageField.put()` should now figure out correctly if it's stored in a container field and get the ImageField if it is.