Updated model to fix DB access + a number of smaller bug fixes

DB is no longer being hit for every operation. StoryManager now performs caching. Stories, fragments and bookmarks stored in map based on their id. Listener interface updated, views updated to reflect changes. Database fixes for loading stories to ensure they have all of their fragments.