Use IO.pipe to create tar file

Use `IO.pipe` instead of a `StringIO` to avoid storing the whole tar
file in memory.
Create directories for submodules

Add empty directories for submodules in both zip and tar files when
archiving a repo.
Fix branch_names_contains

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Merge branch 'refactor-tar' into 'master'

Refactor Repository#archive_repo for tar files

Use `IO.pipe` instead of `StringIO` to archive repositories to tar files.  This addresses issue #1.

See merge request !5
Bump version

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Create dir for archived repo first

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Bump version

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>