python3 full support

Work search, install, remove in py2 and py3 (others not tested). Expired repos are saved in json and at least once dnf must run in Python2 to copy db from shelve to json format.