Fix leaky file descriptor bug on http_output.go
Merge pull request #1173 from didip/close-response-body-08x

Fix leaky file descriptor bug on http_output.go
Stamp packs only when a message matcher succeeds.
Add RWMutex to protect packet tracking metadata from multiple
goroutine access, and fix the refcounting that I broke w/ the first
commit.
Merge pull request #1176 from mozilla-services/pack_diag_match_fix

Pack diag match fix
Issue #1165 Added max_msg_size to StatsdInput for message size.
Merge pull request #1177 from arrrrgh/stable_issue_1165

Added max_msg_size to StatsdInput for message size. Closes #1165.
Always recycle, and CleanupForRestart doesn't need to duplicate what
already happens when Run exits.
Merge pull request #1179 from mozilla-services/amqp_out_always_recycle

Always recycle, and CleanupForRestart doesn't need to duplicate what
Don't use pointer for TLS section in config or TOML lib will barf trying
to parse it.
Merge pull request #1206 from mozilla-services/httpoutput_tls_fix

Don't use pointer for TLS section in config or TOML lib will barf trying
Fix logstreamer journal saving loop

`LogstreamerInput` keeps repeatably writing the same journal entry to disk
when it reaches the end of a log file. This puts a lot of strain on the disk
where the journal files are located, eg. 100 monitored log files results in
400 IOPS (write).

Fix this by not calling `SavePosition()` if `Logstream` surfaces an `io.EOF`
error, because `Logstream` already saves the position when it reaches EOF
and keeps track of this so as to prevent unnecessary saves when the file
isn't advancing.

As discussed in the PR we still want to save in all other cases, such as
other errors or a stop channel event, and always reset the `recordCount`
accordingly.

The issue can be demonstrated with the following config:

    [test_input]
    type = "LogstreamerInput"
    parser_type = "token"
    log_directory = "/var/log/heka_test"
    file_match = '(?P<Name>.+)\.log'
    differentiator = ["test_input.", "Name"]
    priority = ["^Index"]

Writing a single line to a matching file and monitoring writes using `sysdig`
shows a journal entry with the same `seek` and `last_hash` values being written
every 0.25 seconds:

    root@graphite-1:~# echo hello world > /var/log/heka_test/1.log
    root@graphite-1:~# sysdig -c spy_file "fd.directory=/var/cache/hekad/logstreamer/"
    22:26:47.955585858 hekad(18141) W 105B /var/cache/hekad/logstreamer/test_input.1
    {\"seek\":12,\"file_name\":\"/var/log/heka_test/1.log\",\"last_hash\":\"a7cdf03790426606e33f154d67771842c48dcf83\"}
    22:26:48.206101677 hekad(18141) W 105B /var/cache/hekad/logstreamer/test_input.1
    {\"seek\":12,\"file_name\":\"/var/log/heka_test/1.log\",\"last_hash\":\"a7cdf03790426606e33f154d67771842c48dcf83\"}
    22:26:48.456563080 hekad(18141) W 105B /var/cache/hekad/logstreamer/test_input.1
    {\"seek\":12,\"file_name\":\"/var/log/heka_test/1.log\",\"last_hash\":\"a7cdf03790426606e33f154d67771842c48dcf83\"}
    22:26:48.706010894 hekad(18141) W 105B /var/cache/hekad/logstreamer/test_input.1
    {\"seek\":12,\"file_name\":\"/var/log/heka_test/1.log\",\"last_hash\":\"a7cdf03790426606e33f154d67771842c48dcf83\"}
    22:26:48.956700377 hekad(18141) W 105B /var/cache/hekad/logstreamer/test_input.1
    {\"seek\":12,\"file_name\":\"/var/log/heka_test/1.log\",\"last_hash\":\"a7cdf03790426606e33f154d67771842c48dcf83\"}
    22:26:49.206755665 hekad(18141) W 105B /var/cache/hekad/logstreamer/test_input.1
    {\"seek\":12,\"file_name\":\"/var/log/heka_test/1.log\",\"last_hash\":\"a7cdf03790426606e33f154d67771842c48dcf83\"}
Merge pull request #1219 from dcarley/logstreamer_journal_saving_loop_v081

Fix logstreamer journal saving loop
Slight doc tweaks for read_message sandbox function and StatFilter.
Merge pull request #1225 from mozilla-services/doc_tweaks

Slight doc tweaks for read_message sandbox function and StatFilter.