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.
Check For Null Before Modifying Linked List

We were attempting to alter the "->next->prev" pointer in a linked
list without verifying that "->next" was not null. Add a check
before we start messing with the pointer.
Don't Cull Filtersets That We Specify To Not Cull

If we specify "cull=false" for a filterset, do not cull it.
Merge pull request #200 from pamaddox/master

Fix Various DNS Issues
Support auto-culling of time/size rotated log files via
retain_seconds and retain_bytes options.
Allow for xpath printing from the config -- for scripts
a 0 exit code makes more sense here
First steps to lua docs.
About non-blocking sockets.
Don't Lock Noitd If Only Reading Stuff From Config

If a user is utilizing the "-x" option to pull values from
the config files, we don't need to acquire the lock. Only lock
if we actually need to acquire the process lock.
Add Ability To Send To Multiple Jezebel Processes

Changed the configuration for Jezebel to support sending to
multiple Jezebel processes by specifying multiple URLs in the
config file. Removed the "port" config option, since it was
never used.
Spawn Jezebels For All Local Ports In Config File

Modified the Jezebel start wrapper script to read the contents of the
configuration file, determine all Jezebel processes that are supposed
to be running on the local machine, then spawn those processes instead
of just spawning one on the default port.
Add More Configurability/Versatility To Jezebel Wrapper

Made two changes to the Jezebel wrapper script:

1) Modify the xpath to catch the Jezebel path if it's not enclosed
   in a "Lua" XML element.
2) Allow specifying a config file to the script that will override
   the default config file the script looks for.
Spawn Default-Port Jezebel If No Ports Found

If we can't find any ports to run on in the config file, run on
the default port.
Merge pull request #206 from pamaddox/master

Add Ability To Use/Spawn Multiple Jezebels
MAX_CHANNELS -> 512 and round-robin channel selection to minimize immediate reuse.
Merge branch 'master' of github.com:circonus-labs/reconnoiter