Allowed List and Dict field to coerce values from JSON or literals.

XBlock should attempt to load JSON or Python literals for strings when dealing with Lists and Dictionaries. This is especially true because `XBlock.add_xml_to_node` serializes Dicts and Lists by stringifying them, making them importable by `ast.literal_eval`, but at the moment the Fields do not support this.

This pull request adds this functionality, as well as allowing someone to use JSON as well, since that's what the fields are stored in, and it makes intuitive sense that if someone were trying to create a scenario in the SDK, they could put JSON in the relevant attribute.