Fix Broken DNS TTL Handling

TTL handling for DNS lookups was somewhat broken. We would do two DNS
lookups for each target - an IPv4 and an IPv6. We would end up setting
the TTL to whatever the second result to come back was; so, if we got a
valid IPv4 result, but an invalid IPv6 result, we would override the
TTL with the default value, 60 seconds.

Now, only set the default value if the other resolver is still in-flight...
This will fix the issue where the second result comes back and is invalid,
causing us to ignore the first TTL result.
Don't Try To Resolve Cloudwatch Targets

The target field is not used for resolving Cloudwatch checks... if the
user enters a target that needs resolution, simply ignore it rather
than adding it to the DNS skiplist. This will prevent doing unneeded
DNS resolutions.
Add Ability To Ignore DNS Targets Based On Extension

Added field to the config file ("dns"->"extension") that allows users
to not resolve matching anything with an extension that matches one in
the config. For example, if the following was set:

<dns>
  <extension value="_example" ignore="true"/>
</dns>

...any target ending in "._example" would not be fed into the DNS
resolving code.
Add Lua Call For Registering DNS Domains To Ignore

Added the ability for DNS Ignore domains to be called from Lua.
Removed specific check for Cloudwatch module and added code in the
Cloudwatch module init to ignore anything in the "._aws" domain.
Merge pull request #200 from pamaddox/master

Fix Various DNS Issues