Make git clone call testable

Git clone is now done through a function which allows to mock it for
testing purposes.
Add test for dependency solving

Opening a dependency's package file was extracted in a separate helper
function to allow mocking it in testing. Tests exploiting this
possibility were also added.
Remove forgotten debug statement
Fallback to mock if unittest.mock is not available

On Python versions prior to 3.3 there was no support for mock. For those
versions unittest.mock has been backported as the mock module.
Cleanup of a test
Add a test case for multiple dependencies
Add test for git clone function
Various PEP8 fixes
Remove python show version command

It was useless as in fact Travis CI runs it itself to show the version
in the log.
Add tests for package loading
Remove redundant test for open_package

The behaviour was already tested in the tests for pkgfile_for_package.
Add test for source set creation
Add test for source dict
Run tests with default python version
Added integration tests
Test the template rendering
Merge pull request #3 from antoinealb/add-tests-for-git

Add more tests