More work on refactoring fragments and dialogs to be more abstract and modular.

Added DialogHolder, DialogHolderBasic, UIDialog and UIDialogManager to aid the separation between dialogs and data. DHFact and DHChild use a potential pattern that coan be futher abstracted.