Extract common routines of structured format to StructuredFormatMixin
Add msgpack format to built-in Formatter to dump records
out_file: don't create world writable directory in daemon mode

How to reproduce:

Create the following config file as file-fluentd.conf:

    <source>
      type forward
    </source>

    <match **>
      type file
      path /tmp/x/y/z/a
    </match>

Start fluentd:

    % ruby -I lib bin/fluentd -c file-fluentd.conf --daemon fluentd.pid

Check permission of /tmp/x:

    % stat /tmp/x | grep Access
    Access: (0777/drwxrwxrwx)  Uid: ( 1000/     kou)   Gid: ( 1000/     kou)
    Access: 2014-11-21 17:15:59.898444064 +0900

Permission is "0777/drwxrwxrwx".

Because daemon mode changes umask to `0000`. (It's natural for daemon.)
Merge pull request #483 from kou/out-file-fix-world-writable-directory

out_file: don't create world writable directory in daemon mode
Merge pull request #479 from fluent/add-msgpack-formatter

Add msgpack format to built-in Formatter to dump records
add new csv formatter