Change CRUD handling to do replace extant record.

This is proper handling but I don't like the way it works on the UI.
  I think we should just make the dates read only or perhaps remove the
  unique index on (user, date) and if they have 2 measurements for a 
  date, just give that date more weight (as if there were two readings)?

Also, made the calls async.

TODO: Clean this up a bit if this is what we want to stick with.