DebianSource: fix is_native()

Determine from changelog if debian/source/format does not provide any
type (1.0 format).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
tests: Fix tests for Ubuntu

On Ubuntu dch produces different version numbering. Adapt tests for
this.

Adds a jew class to parse '/etc/lsb-release' to determine the
distribution and it's codename to dynamically adapt tests accordingly.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
buildpackage: implement --[no-]hooks option

For enabling/disabling all hooks. This option does not affect the
builder command, though.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
14_test_gbp_import_dscs: Mock gbp.log.err

to get rid of the spurious error message
10_test_get_upstream_tree: Fix test descriptions
Silence GitRepository.has_treeish

This also silences 10_test_get_upstream_tree
Silence GitRepository.set_upstream_branch

It's not used within gbp itself so no command line tool expects
an error message to be printed.
Silence GitRepository.grep_log

None of the gbp script rely on the output being printed. In fact we
improve the exception by appending the stderr output.
Discard git mailinfo's error message

since we don't expect it to succeed.
command_wrappers: allow to silence __call__

and use that in the doctest to get rid of the spurious output
Silence GitRepository.write_tree

but add any error output to the exception instead. All callers have been
audited to properly output the message if needed.
GitRepository.commit_dir: raise GitRepositoryError instead of GbpError

and make sure the callers forward the error properly
GitRepository.has_feature: capture stderr

to avoid spurious output on the console and add the error message to the
exception intead.
Use Popen.communicate instead of subprocess call

so we can caputure stderr and pass it along with any errors.
Revert "Use Popen.communicate instead of subprocess call"

This reverts commit 0c582cd827f164168a313e0bb4eabf9487bdd088.
dch: Use DebianSource.is_native

instead of ChangeLog.is_native since the former used
debian/source/format in favor of debian/changelog.
ChangeLog: Remove is_native

to avoid accidental usage. Use DebianSource.is_native instead.
Make parse_dsc a classmethod of DscFile

so we have the object creation close to the object itself.
Use Popen.communicate instead of subprocess call

so we can capture stderr and use it in error messages intead of spewing
it on the console.
Silence dpkg --compare-versions

and add the error detail to the exception message. This silences the
testsuite and makes sure we have error message and exception output in
sync.