Table id including date; for table rotation by date

This patch makes `table` and `tables` options accept [Time#strftime](http://ruby-doc.org/core-1.9.3/Time.html#method-i-strftime) format, so that the table id can include date. It enables table rotation by date.

Letters which can be used in table ids ([a-zA-Z0-9_]) have no special meaning in Time#strftime format. Therefore, the patch does not break existent settings.
To test about table names which are formatted with (modified) timestamp, define method to generate tablename, and overwrite it on tests.
```ruby
def generate_table_id(table_id_format, current_time)
  current_time.strftime(table_id_format)
end

def insert(table_id_format, rows)
  table_id = generate_table_id(table_id_format, Fluent::Engine.now)
  # ...
end
```