Add simplest implementation of the `Downloader`

This module is meant to be an abstraction over the execution of all
downloads. Though we could just use an Array of promises and a way of
pushing functions onto the array, storing the state of this in the main
`Reddit` object, I thought that it would make more sense (thinking more
OOP-ish than I usually do) to delegate downloading to another object.

By doing this this, there's looser coupling between the part of the
library which deals directly with the reddit API and the arbitrary
source and type downloads.

The downloading of files still isn't stubbed and there're a couple of
other issues.

Also partly developed with @zachallaun.
Add `tmp` to `.gitignore` and set-up travis-ci

This also adds the travis continuous integration badge to our README.