push: don't send a packfile when only issuing delete commands

For update and create commands where all the objects are known to
exist in the remote, we must send an empty packfile. However, if all
we issue are delete commands, no packfile must be sent.

Take this into consideration for push.
travis: test push

Create a test repository in the VM and set up git-daemon so we can
use it to test the push code.
Merge pull request #1512 from carlosmn/push-delete-only

Fix push for delete-only and add travis rules to test it