.gitignore: ignore more stuff

Namely, correct the name of the buffer test, ignore the report/file
test and also the file generated by it.
Merge pull request #40 from bassosimone/fix/gitignore

.gitignore: ignore more stuff
Add dns.hpp, the DNS resolver
dns.hpp: note that there is more work to be done
dns.hpp: allow to specify the nameserver
dns.hpp: add namespace
dns.hpp: check return value of resolve_ipv4/ipv6
dns.hpp: implement reverse DNS lookups
dns.hpp: make code easier to grok

Refactor the function processing the results to avoid the annoying
code organization that in some cases you return during the switch
and in some cases you fall through.
dns.hpp: document the code
dns.hpp: more documentation
dns.hpp: one attempt by default, allow to tweak that

Add an attempt string parameter, with default value "1", allowing
to control how many attempts EvdnsBase makes to resolve.

We use "1" by default becase OONI's tcpt does just one attempt
to resolve and then reports an error.
Add empty regress for net/dns.hpp
dns.hpp: use vector rather than list

With vector we can access individual elements by specifying
their index, which is something I anticipate we will want to
do for results returned by DNS resolvers.
dns.hpp: allow to specify custom poller

Needed in the regression tests, since apparently tests are
not run sequentially, therefore no single poller can be used.

Apart from that, it is also sane to be able to specify a
custom poller for running DNS requests.
test/net/dns.cpp += minimal system-resolver's tests
test/net/dns.cpp += tests for custom DNS resolver