JZ: Initial solution commit
JZ: Implement atomicity for CSV imports

CSV imports should happen for all rows or nothing at all!
Use `django.transactions` for rollbacks on submission on errors

Also remove metadata from CSV rows before submitting
JZ: Use 'instance.delete' stop gap for atomicity

Django doesn't seem to like `@transaction.commit_manually` decorated
functions called inside `transaction.atomic()` context manager blocks.
JZ: Make "uuid_regex" more versatile

Valid xml can contain whitespace (including newlines) around tags and
content. This commit ensures `logger_tools.uuid_regex` considers this
and that `logger_tools.get_uuid_from_submission()` returns a form's uuid
given submission xml with the above described properties.
JZ: More standards compliant xml generation

XML node names cannot start with a number or punctuation character
see :- http://www.w3.org/TR/REC-xml/#sec-common-syn
JZ: Switch to create_instance + first test commit

Give users freedom to handle exceptions by using `create_instance`
instead of clobbering them with `safe_create_instance`
JZ: Pass xform to to csv_import + Working tests
JZ: Use json form name for submission root tags
JZ/UK: Add edit submission functionality on import
JZ/UK: Add rollback test
JZ: Initial endpoint/view commit + more tests
JZ: Remove "half baked test"
JZ: First view test commit
JZ: Add csv_import view fail test
JZ: Refactor csv_import fx, purge ipdbs
UK: add failing test, csv_import raises
AttributeError: 'NoneType' object has no attribute 'read'
DW: Xform inherits permission from the project
DW: Correct failing tests
DW: Code refactor
DW:Makes form and data public if publishing to a public project