completeEdit must validate before saving
bug: it wasn't doing so which meant it didn't clean up when save failed.
reused validateAndSaveItem (now validateAndSaveModifiedItem) ... which now only attempts validation and save if item is modified (was pre-existing).
Extracted validateAndSaveModifiedItem method from extendItem's propChanged handler.
Mostly for parity with TodoAngular's controller but also a bit clearer
Renamed shellView and shellViewModel to view and viewModel for clarity
There was nothing particularly "shell" like about the view.
Also extracted validateAndSaveModifiedItem method from viewModel's extendItem's propChanged handler to keep parity with Todo and Todo-Angular.