added the IHaveState interface used to save/restore view model state

added the AppPage class and modified the CustomFrameAdapter so as to allow the new class to call the OnNavigated method
modified the app class so as to save/restore the application state when starting/suspending the application
added a missing spec
updated the restore state code to handle restore exceptions and fixed a bug where even if the shell frame content was not set, the main view was still not set because the frame by default had content set to the string "Frame"
update the shell view so that it sets datacontext null on the shell frame and removed some code from CustomFrameAdapter as this is not needed anymore
removed the class restrictions from the storage service
started to make the music directory view/view model be able to persist state
extracted the loading of application settings into a settings helper to remove code from the app class
added the SerializableModelBase and modified the Index view/view model/class to use the features of this new class, allowing for parameters to be passed to the navigation service and not crash while calling  GetNavigationState for the shell frame
removed the GenericSubsonicModel class
Merge pull request #40 from cristi-badila/saveRestoreState

Save restore state