dst argument in crypt routines is optional now. updating usages considering it.
moving getting user inputted data in separate method get_gui_data
messages in gui
import magic for py2 compatibility