Latest info:
* Hash + Closures. Now replacing case/when statements with closures and hashes to improve performance
* Raise exceptions now instead of using `break`
* Zipped lines 163-164 per @colinsurprenant
* In line 280, this change is a regression.  The authfile is tiny, so this should still be okay, and it's only read once.  Tests failed without this change.
* Use `has_key?` instead of `include?()` in multiple places.
* In the spec/test, I fixed a typo that was bugging me.

With this commit, all tests pass!

```
$ bin/logstash rspec -fd spec/codecs/collectd.rb
Using Accessor#strict_set for specs
Run options: exclude {:redis=>true, :socket=>true, :performance=>true, :elasticsearch=>true, :broken=>true}

LogStash::Codecs::Collectd
  None
    should parse a normal packet
  Sign
    should parse a correctly signed packet
    should not parse an incorrectly signed packet
  Encrypt
    should parse an encrypted packet
    should not parse unencrypted packets when encrypt is configured

Finished in 2.1 seconds
5 examples, 0 failures
```