refactor: SearchCommand in its own file.
refactor: concentrate specific search functionality in commands.search.

Also concentrate the tests.
search: exact matches should propagate higher. (RhBug:1093888)
repos: support sslverify setting. (RhBug:1076045)

This concludes implementation of SSL support on DNF's side.
sslverify: documentation and bumped librepo require.
pylint: clean up dnf.repo.
arch: recognize noarch as noarch's basearch. (RhBug:1094594)
transifex update
dealing with installonlies, we always need RPMPROB_FILTER_OLDPACKAGE (RhBug:1095580)

Related: RhBug:1061780 and commit 26cd7b8.
doc: cli_vs_yum: we do not promote installs to the obsoleting package. (RhBug:1096506)
lint: make dnf_pylint take '-s' that suppresses line/column numbers.
fix: 'dnf repo-pkgs' failures (RhBug:1092006)
doc: document --debugsolver.
Drop --debugrepodata and susetags generation with it.

Occupies code yet nobody uses it and --debugsolver supersedes it anyway.
fixed typos in comments
transifex update
fixed rpmbuild warning of missing file
encoding: all encode methods are using utf-8 coding instead of default ascii
using write_to_file py2/py3 compatibility write function
replaced 'unicode' conversion functions with 'ucd' (RhBug:1095861)