libunbound has const correctness issues...
Merge pull request #159

7383574 libunbound has const correctness issues... (Thomas Winget)
low risk, potentially varint overflow bug patched thanks to BBR
Removed ldns dependency

ldns dependency was only still around for constants defined in ldns/rr.h,
but those constants are RFC specified DNS constants, and to reduce deps
have been replicated in dns_utils.h instead of including ldns/rr.h.
Remove LDNS dep and fix a bug in libunbound const correctness fix
Merge pull request #160 from tewinget/remove_ldns_dep

Remove ldns dependency
Revert "low risk, potentially varint overflow bug patched thanks to BBR"

This reverts commit 4e2b2b942daa4206ec44c66e59863670dfe3fde4.
dependencies enforced, send que error message log level moved
Merge pull request #163

99945a5 dependencies enforced, send que error message log level moved (Riccardo Spagni)
Adding an identical existing checkpoint should not error

For checkpoints being read at runtime to work correctly, the checkpoint
add code needs to not return false if a checkpoint is added that already
exists.  In this case, instead return false if the checkpoint is for a
height that already has a checkpoint and the hashes are different.
updated DNSResolver/things that use it for DNSSEC

Note: DNSResolver does not yet *use* DNSSEC, but rather this commit is
preparation for including DNSSEC validation.  The function in
src/wallet/wallet2.cpp that uses DNSResolver still needs its parameters
updated accordingly.
reload checkpoints file every ~hr and print if any fail

also some other minor bug squashing and code formatting
DNS checkpoint updating added, and daemon flag to enforce them

The daemon should now check for updated checkpoints from
checkpoints.moneropulse.org as well as from the configured json file
every ~1hr (and on launch).

The daemon now has a flag to enable enforcing these checkpoints (rather
    than just printing a warning when they fail).

TODO: an easily configurable list of DNS servers to check for
checkpoints as opposed to the hard-coded "checkpoints.moneropulse.org"
Fixed segfault with checkpoints loading

Bounds checking on blockchain_storage' m_blocks.size() when validating
against checkpoints.  Also moved initial json & DNS checkpoints load to
after blockchain init.
various changes to runtime checkpoint updating

json checkpoints will be checked every 10 minutes, dns every 60.

json checkpoints always enforced, dns still with flag.

conflicting checkpoints is hard fail, but soft if dns enforce flag not
set and dns checkpoints are wonky.
Daemon should now exit on conflicting checkpoints

If the "enforce DNS checkpoints" flag is not enabled, it should not exit
if DNS checkpoints conflict with the others, but should still print a
warning to the user.