Updated features involving firstpage

-Added option to reassign any page as firstpage
-Cannot delete the firstpage until reassigned
-Stories can now return their own firstpage locally using story.getFirstpage()