Re-organizing/cleaning-up/refactoring PEEP-297

* Converting to relative imports
* Breaking out MultiLingualText into a new module (`datastructures`)
* Adding a `utils` module for reusable functions
Adding as_xml() method to MultiLingualText PEEP-297

So MultiLingualText instances can convert themselves into
database-friendly XML on their own.
Integrating as_xml(), improving documentation PEEP-297
Massive 'finally-got-it-working' commit PEEP-297 PEEP-303 PEEP-304

* built-out MultiLingualFieldFile (for serving files from
MultiLingualFileField in an identical way to how django serves
FileField instances)
* Adding `construct_MultiLingualFile_from_xml` to utils (even though it
the current implementation does not use it)
* Adding CustomClearableFileInput widget class which determines how to
properly pass data along to MultiLingualFileFieldForm (the
MultiValueField)
* adding `decompress` method to MultiLingualClearableFileInputWidget
(so database values can be properly unpacked and separated for the
MultiWidget)
* Wrote FileField subclass (FileOrAlreadyExistantFilePathField) which
handles both files AND strings/bools (for handling all states served by
the MultiLingualClearableFileInputWidget widget)
* Integrated all the above code into MultiLingualFileField's
.to_python() and .get_prep_value() methods to handle data moving
to-and-from the database