Set up code for the rest of the UDE export (#14).
Set up code for the rest of the UDE export (#14).

This rearranges parts of the export code and adds new blocks to
produce Enrollment.csv and Exit.csv, both of which are specified by
the HMIS CSV standard to contain some of the Universal Data Elements.

* public/js/index.js (exportAll): Correct the "ID" vs "Id" situation.
  Move CSV string initializations to top.  Add new blocks for
  Enrollment.csv and Exit.csv.  Fix some mis-punctuated code that
  Javascript was too forgiving to punish me for.  In Client.cvs block,
  don't allow PersonalId to be null, and export it as a string instead
  of as a number.  Remove placeholder HUD HMIS DE#s from comment
  descriptions for fields that don't have DE#s.  Add a comment about
  how we're not sure whether OrganizationId even belongs here.
  Correctly conditionalize quoting of dateCreated and dateUpdated
  strings based on whether they're null or not.  Fix some missing
  semicolons.

BREAKAGE WARNING: After this commit, the export no longer works.  It
produces HMIS_Data.zip, but in that zip file, only Export.csv is fine;
the other three .csv files are all 0 bytes.  I'll bet this is a
multithreadedness issue about when the Javascript .done() callbacks
complete in response to API requests.  If I initialize the four
foo_csv variables to non-empty strings at the top of the function,
those test strings get exported even though the CSV data that we want
appended to them is absent.  This is because the CSV-appending happens
inside callbacks that are waiting for responses from the server, but
by the time those responses come, the exportAll() function has already
finished.  In the next commit I'll try a fix.

OpenTechStrategies/openhmis-intake,OpenTechStrategies/openhmis-intake