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'
JZ: Refactor `submit_csv` to fix test fails
JZ: Provide docstrings for csv_import code
Merge pull request #685 from onaio/653_csv_data_import_to_existing_form

closes #653 csv data import to existing form