More refactors building upon the last ones, to fix the internal state of several components, which were not correctly updating/resetting when some dialogs would close.
It also moves contact creation/updating out of the dialogs so that we can programatically create a contact without user interaction. This is particularly useful for creating a CrowdNode or Maya contact, where the user shouldn't need to know the Address/Contact information.