Clean up ReplyDialogFragment to now go through a listener

The target fragment is expected to implement the appropriate listener and these functions will be called instead of going through onActivityResult. This is a lot cleaner.