Various optimizations to PHP.unserialize

Also add benchmark.rb for benchmarking

Moving #read_until into a pre-defined class provides the most savings;
Using .index() instead of .read(1) gives an extra boost.

Finally, refactored the detection of session formatted data.

Speed improvement summary (~2x faster for regular deserialization, ~4x faster for session format deserialization):

Original performance:
```
$ ruby -I../php-serliaze-orig/lib benchmark.rb
...
              user     system      total        real
regular   2.230000   0.440000   2.670000 (  2.684256)
session   1.080000   0.440000   1.520000 (  1.518086)
```

After optimizations:
```
$ ruby benchmark.rb
...
              user     system      total        real
regular   1.400000   0.000000   1.400000 (  1.408333)
session   0.390000   0.010000   0.400000 (  0.394359)
```