JZ: Initial commit for #684
JZ: Add altitude & Accuracy to GPS field
DW: Added version to xform and instance. Overide the default partial update to replace a form
DW: Corrected failing tests
DW: Added test for a bad xls file update. added version param in data export and code refactor
DW: Code refactor
DW: Added more tests, removed the seconds in the version, code refactor
DW: Code refactor
DW: Corrected failing tests
DW: Added version column to the exports
DW: Corrected failling test
DW: updated the sav export fixtures
DW: Added test for put method
JZ: Commits for #684, #693, #695

Search and shrink multi column gps info to a single geopoint field to sort #684
Parse csv header for spaces to sort #693
Reject non utf-8 csv uploads to sort #695
JZ: Fix flake8 fail
Merge remote-tracking branch 'origin/677_add_version_number_to_xform'

* origin/677_add_version_number_to_xform:
  DW: Added test for put method
  DW: updated the sav export fixtures
  DW: Corrected failling test
  DW: Added version column to the exports
  DW: Corrected failing tests
  DW: Code refactor
  DW: Added more tests, removed the seconds in the version, code refactor
  DW: Code refactor
  DW: Added test for a bad xls file update. added version param in data export and code refactor
  DW: Corrected failing tests
  DW: Added version to xform and instance. Overide the default partial update to replace a form
JZ: CSVimport refactors. Detail in commit msg body

Sorts out the issues highlighted at:-
    https://github.com/onaio/onadata/pull/689/files#r20629961

Detail

 - Inflate slash-namespace field names ('x/y/z/1/2/3') to
dicts using reduce() to handle multiple levels.
 - Handle geopoint field creation before inflating slash-namespaced
fields to avoid working on "doomed" keys.
 - Use location fieldname prefix for geopoint tag even if it is
still dot-notated.
UK: add failing test for nested geopaths e.g demo/location.latitude
UK: increase version length to 255, closes #701
PLD: test and catch owner validation errors