Support type cast in RegexpParser

This is an enhancement for **RegexpParser**.

Many users use **RegexpParser** for own log format in **in_tail** plugin.
Unlike **Apache2Parser**, **RegexpParser** doesn't cast the value.
In this result, **in_tail** user needs type casting mechanizm after collects events.

Adding type cast to **RegexpParser** helps such users for performance and configuration simplicity.
My proposal is below.

Specify type and format in named capture of `format` option:
Configuration format is `<name|type|format>` like below

```
format /^(?<host>[^ ]*) [^ ]* (?<user|string>[^ ]*) \[(?<time>[^\]]*)\] \[(?<date|time|%d/%b/%Y:%H:%M:%S %z>[^\]]*)\] "(?<flag|bool>\S+)(?: +(?<paths|array>[^ ]*) +\S*)?" (?<code|float>[^ ]*) (?<size|integer>[^ ]*)$/
```

Supported types:

- string (same as no specify)
- bool (`true` and `yes` string converted to `true`)
- integer
- float
- time (specify time_format via 3rd format)
- array (specify separator via 3rd format. default is `,`)

New other configuration:

Add `name_separator` option to specify `<name|type>`'s separator. default is `|`.

What do you think?