Merge branch 'develop'
added benchmark script.
It does not work. match_key data should be String.
use ruby-prof if ENV[PROFILE] is exists.
use pipelined requrest for redis's incrby.

BEFORE: benchmark result:  24.040000  13.660000  37.700000 ( 53.967717)
AFTER:	benchmark result:  17.940000  11.370000  29.310000 ( 30.310722)

BEFORE Profile's trace.
------------------------------------------------------------------------------
                      0.000      0.000      0.000      0.000     63130/226265      Redis::Connection::CommandHelper#build_command
                      0.000      0.000      0.000      0.000     63130/226265      Redis::Client#ensure_connected
                      0.000      0.000      0.000      0.000         2/226265      Redis::Client#_parse_options
                      0.001      0.000      0.000      0.000         1/226265      Fluent::BufferedOutput#start
                      1.130      0.282      0.001      0.847         1/226265      Fluent::ArrayEventStream#each
                     11.308      0.647      0.001     10.661    100000/226265      MessagePack::Unpacker#each
                     21.922      0.185      0.000     21.737         1/226265      Fluent::RedisCounterOutput#write
  91.14%   2.95%     34.360      1.114      0.002     33.245           226265     *Array#each
                     21.737      0.196      0.000     21.541      63128/63128      Redis#incrby
                     10.338      1.199      0.001      9.138    100000/100000      Fluent::RedisCounterOutput::Pattern#get_count_key
                      6.847      0.187      0.000      6.660      63130/63130      Redis::Client#write
                      0.847      0.296      0.000      0.550    100000/100000      Fluent::RedisCounterOutput#format
                      0.324      0.324      0.000      0.000    252516/415646      Fixnum#to_s
                      0.323      0.323      0.000      0.000    100009/100014      Hash#[]=
                      0.240      0.240      0.000      0.000    189387/252518      Kernel#is_a?
                      0.195      0.195      0.000      0.000    189387/252517      String#bytesize
                      0.109      0.109      0.000      0.000      63141/63141      Symbol#to_s
                      0.075      0.075      0.000      0.000      63128/63129      String#to_s
                      0.072      0.072      0.000      0.000      63130/63130      Array#first
                      0.000      0.000      0.000      0.000              1/1      Fluent::OutputThread#start
                      0.000      0.000      0.000      0.000            11/12      Kernel#respond_to?
                      0.000      0.000      0.000      0.000        11/100011      Hash#has_key?
                      0.000      0.000      0.000      0.000              1/2      Proc#call
--------------------------------------------------------------------------------
                     21.737      0.196      0.000     21.541      63128/63128      Array#each
  57.66%   0.52%     21.737      0.196      0.000     21.541            63128      Redis#incrby
                     21.541      0.187      0.000     21.354      63128/63129      Redis#synchronize
--------------------------------------------------------------------------------

AFTER Profile's trace
--------------------------------------------------------------------------------
                     28.165      0.000      0.000     28.164              1/1      Proc#call
  96.13%   0.00%     28.165      0.000      0.000     28.164                1      Fluent::RedisCounterOutput#write
                     14.673      0.000      0.000     14.673              1/1      Fluent::MemoryBufferChunk#open
                     13.491      0.000      0.000     13.491              1/1      Redis#pipelined
                      0.000      0.000      0.000      0.000              1/1      Hash#default=
--------------------------------------------------------------------------------
                      0.000      0.000      0.000      0.000     63163/163172      Redis::Connection::CommandHelper#build_command
                      0.000      0.000      0.000      0.000         1/163172      Fluent::BufferedOutput#start
                      0.001      0.000      0.000      0.000         2/163172      Redis::Client#_parse_options
                      0.670      0.146      0.000      0.524         1/163172      Enumerable#each_with_index
                      1.130      0.282      0.001      0.847         1/163172      Fluent::ArrayEventStream#each
                      2.875      0.137      0.000      2.739         1/163172      MonitorMixin#mon_synchronize
                      5.945      0.306      0.000      5.638         3/163172      Redis::Client#ensure_connected
                     11.679      0.664      0.000     11.014    100000/163172      MessagePack::Unpacker#each
  76.12%   5.24%     22.301      1.536      0.002     20.763           163172     *Array#each
                     10.681      1.202      0.001      9.477    100000/100000      Fluent::RedisCounterOutput::Pattern#get_count_key
                      5.565      0.189      0.000      5.376      63163/63163      Redis::Client#write
                      2.739      0.175      0.000      2.564      63161/63161      Redis#incrby
                      0.847      0.300      0.000      0.546    100000/100000      Fluent::RedisCounterOutput#format
                      0.524      0.232      0.000      0.292      63161/63161      Redis::Future#_set
                      0.334      0.334      0.000      0.000    100009/100014      Hash#[]=
                      0.310      0.310      0.000      0.000    252648/415811      Fixnum#to_s
                      0.234      0.234      0.000      0.000    189486/189489      Kernel#is_a?
                      0.193      0.193      0.000      0.000    189486/252649      String#bytesize
                      0.093      0.093      0.000      0.000      63174/63174      Symbol#to_s
                      0.073      0.073      0.000      0.000     63163/126324      Array#first
                      0.071      0.071      0.000      0.000      63161/63162      String#to_s
                      0.000      0.000      0.000      0.000            11/12      Kernel#respond_to?
                      0.000      0.000      0.000      0.000              1/1      Fluent::OutputThread#start
                      0.000      0.000      0.000      0.000              1/2      Proc#call
                      0.000      0.000      0.000      0.000        11/100011      Hash#has_key?
--------------------------------------------------------------------------------
calculate memory size.
added limit for a pipelined request .

This patch make slower than before comit (but faster than before adding pipelined request).
But, too large pipelined requests may make a redis heavy.(because of default BufferedOutput's buffer is large(may be 64MB)). So add max_pipelining option for limiting query size of a pipelined request.

BEFORE:	benchmark result:  19.570000  16.620000  36.190000 ( 39.677561) (max memory size:          145308KB)
AFTER:	benchmark result:  20.280000  16.550000  36.830000 ( 41.332308) (max memory size:          115224KB)
RecordValueFormatter object does not need to create each time.

BEFORE:		benchmark result:  19.620000  16.650000  36.270000 ( 39.574181) (max memory size:          126932KB)
AFTER:		benchmark result:  19.410000  16.350000  35.760000 ( 43.942288) (max memory size:          125760KB)

(system time is larger than before. But it may be other reason.)
don't create Regexp object each time. and does not regexp match 2times if match

BEFORE:		benchmark result:  19.410000  16.350000  35.760000 ( 43.942288) (max memory size:          125760KB)
AFTER:		benchmark result:  18.510000  16.040000  34.550000 ( 37.307476) (max memory size:          124716KB)
Merge branch 'feature/performance_improvement' into develop