Creating new cases during case import

Previously case import (from excel file) would only update existing
cases. This commit will allow it to create new cases if one does not
match.

Heavy refactoring was done to the view method to clean up the code and
provide better logging of changes. Originally the xml for the whole case
was submitted to update (which marked all fields as updated) but now we
only submit the changed fields.