Fixed web schedule & mark-as-complete

PUT /api/Pickups/* has a similar issue as POST /api/Pickups with
Donor=null.  For now I've fixed this by aping the check in POST to
populate Donor from the DonorId.
Also fixed a number of errors in the front-end code ($id needs to be
overwritten, data needs to be explicitly converted to JSON, ...).