tests:travis: add integration with coveralls.io

Coveralls.io can be used to track code-coverage stats over time. We're
currently running at around 70% coverage which isn't bad but we can do
better.
test:download: add test for main()

Add a simple test which mocks sys.argv allowing for full end-to-end
testing of the downloader.
download: fix breakage of --split-chunks

The use of ``with target_f`` in download.py was invalid if target_f is
None. Add a somewhat ughly workaround and a test.

(This shows the advantage of nearly-full-stack testing...)