gather text normalization code into single function
replaced python csv with unicodecsv
split_object_id now returns useful info for files before hashing

Batch-edit needed a way to refer to file objects before they have
been imported, but the SHA1 hash is created during that process.
This change returns useful info even if the hash is absent.
updated/refactored update_file, can now add new files

File IDs go in the left-most column.
Existing files have complete IDs: ddr-test-123-45-master-a1b2c3
Files with no hash are considered new: ddr-test-123-45-master

- Moved more code from update_files() into sub-functions.
- Made console log output more user friendly.
- More docstring documentation.
- test_repository() - Entity.add_file barfs if repo already
  contains staged files, so check before doing the real work.
- test_new_files() - Ensures that all new files listed in CSV are
  present in same dir as CSV.
- load_file() - Changed file_path assembly, file_.exists instead
  of file_.new.
- write_file_changelogs() - Writes all entity changelogs at the
  same time. Correctly handles new files ("added file ..."
  instead of "updated").
- update_files() - Added code for handling new files.
- update_files() - Preflight checks/validation; update/add files;
  changelogs; stage files to Git index.
- update_files() - After staging, get list of staged files from
  repo instead of printing list of files to be staged.  This is
  because Entity.add_file stages its own files.