Made changes to how exceptions are handled

Basic functionality of showing error messages for save/retrieval
failures.
Moved child window view models into a sub-folder, same with views.
Incorrect code - reverting
Revert "Incorrect code - reverting"

This reverts commit 57ae3ee199b66cc239bcffb74a9fe3b88e42e518.
Changed how the child window is displayed

Consolidated two views and view models (failed to save data and failed
to retrieve data) into one error view and view model. There are still
separate messages which the child window listens for. When it receives a
message it creates the error view model and determines the text for it
based on the message received. This probably needs to be moved to the
error message view model later
Replaced ScrollViewer with ListBox

The component to display the presents on a list has changed from a
ScrollViewer to a ListBox to support double clicking presents later.