ruby: remove lz4 and lz4hc support

see @tsee's comment at 050f349a17ae80af8f29db1801797f4f569136fe
i am not leaving any trace of it since it was released only a week
ago and only bots have downloaded the gem from rubygems.org.

and i also dont know any graceful way of handling my mistake
of pushing the lz4 support into the master branch.

so if someone is using LZ4 you can downgrade to 0.0.5 by using:
    gem 'sereal', '= 0.0.5'
or
    $ gem install sereal -v 0.0.5
go: add a top-level default Marshal()/Unmarshal() routines
go: deadcode--
Fix const usage in prototype declaration
Fix const usage in variable declaration
Hobodecoder: Incremental Snappy support
Perl: Micro-optimization in encoder

Just avoiding a branch in the encoder cleanup.
Probably saved half a nanosecond per encode only even if branch
prediction were not a thing.
Add CBOR::XS to benchmark
Split roundtrip tests into two files

They run soooo many tests nowadays that a 1/2 split means that we can
gain a fair amount of runtime speedup by running them in parallel. In
case you haven't done that before, this does it:

  prove -b -j4 t/*

I don't know whether make test can do such a thing. I don't think so.
Also split decoder roundtrip tests
Perl: Add branch prediction hint to decoder
Spec: Proposed changes to implement freeze/thaw hook mechanism

Make sure to compare against the logic for CBOR hooks which is
sufficiently generic to serve multiple serializers. Right now, the only
incompatibility is that for Sereal, FREEZE needs to return a single data
structure instead of a list. That is quite a bit more efficient for
simple data structures and also easier on the implementation,
particularly for more static languages than Perl.

Comments welcome. This is a proposal.
Generate spec/tag changes appropriately

To be squashed with previous commit ultimately.
Perl: Implement FREEZE/THAW interface in encoder and decoder
Perl: Simple freeze/thaw cb benchmark

Hint: Lots faster without callback on serialization.
For deserialization, depending on the object, custom serialization
may actually allow deserialization to be more efficient than the
generic Sereal deserialization in some cases.
Perl: Reorder option docs in Encoder

Move an option further down whose use was basically discouraged anyway.
Perl: Update freeze/thaw benchmark

This adds a serialization case of objects without FREEZE hook but with
the FREEZE/THAW feature enabled. This is the cb_nocbdata case below:

                              Rate     cb cb_nocbdata  no_cb no_cb_nocbdata
  cb             17886.5+-0.0016/s     --      -72.8% -90.2%         -90.3%
  cb_nocbdata       65716.4+-4.1/s 267.4%          -- -63.9%         -64.3%
  no_cb                181839+-0/s 916.6%      176.7%     --          -1.1%
  no_cb_nocbdata   183939+-0.055/s 928.4%      179.9%   1.2%             --

This means that with the freeze_callbacks option set, simply attempting
to look up the FREEZE method in a class repeatedly can be a significant
slowdown. It remains to be seen whether a custom hash based cache for
"class name => hook (or NULL)" would be faster than the method lookup.
That cache isn't implemented yet, would potentially introduce bugs in
weird corner cases (callbacks modifying FREEZE methods, WTF?) and is
generally somewhat unlikely to speed things up.

So this is likely it: If you use freeze callbacks, you pay for it a
little bit. (This is a worst-case benchmark.) But that's ok. Because you
don't have to and because all other serializers that offer this
interface are A LOT slower still. :)
Perl: Document FREEZE/THAW mechanism in encoder docs
Perl: minimal FREEZE/THAW docs for decoder
Perl: Version bump, changelog, MANIFEST (2.00_03)