Add yaml-cpp and boost

This diff adds yaml-cpp and all the boost submodules that
are needed to compile yaml-cpp.

We initially tried with cmake, but it was not straightforward
to interface cmake and GNU autotools.

Therefore, this diff implements a different approach by
which we generate an include.am for yaml-cpp.
Teach ./configure about yaml-cpp and propagate changes
configure.ac: square brackets are handled specially by m4

So, let's use `test ...;` rather than `[ ... ];`.
configure.ac: correctly include boost headers
configure.ac: fix: save/restore CCPFLAGS not CXXFLAGS
configure.ac: fix: $ight_yamlcpp_path default value is "" not "check"
configure.ac: fix: LDFLAGS += -lyaml-cpp in any case
configure.ac: fix: run all yaml-cpp checks in C++ mode
configure.ac: explain common reasons why yaml.h cannot be used
configure.ac: use --with-libyaml-cpp not --with-yaml-cpp
Teach configure.ac about libboost

We only check for the bare subset of boost that we need to
compile the yaml-cpp library version 0.5.1.
configure.ac: fix boost description
Merge pull request #38 from bassosimone/feature/add_yaml_cpp-try3+autoconf

Add yaml-cpp and the set of boost libs required to compile it
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.