upstream の 2.0.0_wip ブランチをマージしました

問題
=======

chef 11.10.4 を使用して、かつアトリビュート redisio.default_settings.logfile がnil
（これはデフォルトアトリビュートがnilになっているので明示的にセットしない限りnilです）
のケースで、以下のエラーで cook することができません。

```
You must supply a name when declaring a directory resource
```

これは、現在主に使用している chef 11.6.0 では発生しません。

原因
=====
chef 11.10 で、リソースの name が nil である場合に上記エラーが発生するように
変更が入っています。
https://github.com/opscode/chef/blob/11.10.4/lib/chef/dsl/recipe.rb#L104
https://github.com/opscode/chef/commit/b4c8facbf495423950345937ab4a8d6d8792ad16

redisio の現在の 2.0.0_wip ブランチのレシピでは、redisio.default_settings.logfile がnilの場合、

```
directory nil do
  ...
  only_if { nil }
end
```

のようなリソースとなり、これが chef 11.6.0 では問題ないけれど、chef 11.10.4 (11.10以降)で
エラーになる、というのが現在の問題です。

変更内容
========
upstream の redisio リポジトリでこの対策として、以下の修正がコミットされています。
https://github.com/brianbianco/redisio/commit/ab9b1593f621483542c5ee5aea4fa07227f3e48a

そこで今回の変更として、groovenauts の redisio リポジトリの 2.0.0_wip ブランチに、
上記コミットを含んでいる upstream の 2.0.0_wip ブランチをマージします。

マージの際、#2 での`:daemonized` の追加と、upstream でのインデント修正 (https://github.com/brianbianco/redisio/commit/0d4553be4221025f794e96951ace53baefa64f74) が衝突していましたが、
upstream 側での修正をベースに、`:daemonized` を再度追加するようにしてあります。

これにより、chef 11.6.0, chef 11.10.4 どちらの環境でも cook できるようになります。

確認したこと
============
このトピックブランチを使用することで、アトリビュート redisio.default_settings.logfile が nil の場合でも、
chef 11.6.0, chef 11.10.4 どちらでも cook できることを確認しました。

また、既存の redis (version 2.8.9) の設定ファイルがどのように変更されるかについても確認しました:

 * /etc/redis/6369.conf
   * アトリビュート redisio.default_settings.maxmemory を % で指定している場合に、`maxmemory 718605926.4000001` のように小数点以下まで出ていたのが、小数点以下は出なくなった (roundされるようになった)
   * `lua-time-limit 5000` が追加された
   * `notify-keyspace-events ""` が追加された
   * `list-max-ziplist-entries 512` が削除され、`hash-max-ziplist-entries 512` が追加された
   * `list-max-ziplist-value 64` が削除され、`hash-max-ziplist-value 64` が追加された
   * `client-output-buffer-limit normal 0 0 0` が追加された
   * `client-output-buffer-limit slave 256mb 64mb 60` が追加された
   * `client-output-buffer-limit pubsub 32mb 8mb 60` が追加された
   * `hz 10` が追加された
   * `aof-rewrite-incremental-fsync yes` が追加された
 * /etc/redis/sentinel_apisrv.conf (sentinelの設定)
   * 変更なし

上記設定の変更について、

  * 追加された設定: 初期値が設定ファイルに明記されるようになっただけであれば問題なし
  * 削除された設定: 設定ファイルに書かれていた値がそもそも無視されていたか、あるいは初期値であれば問題なし

と考え、追加された設定を今回の変更を適用する前に構築済みのサーバで、
削除された設定を今回の変更を適用したサーバで、`redis-cli config get` で確認しました。

今回の変更を適用する前に構築済みのサーバで、設定を確認:
```
$ redis-cli config get maxmemory
1) "maxmemory"
2) "718605926"
$ redis-cli config get lua-time-limit
1) "lua-time-limit"
2) "5000"
$ redis-cli config get notify-keyspace-events
1) "notify-keyspace-events"
2) ""
$ redis-cli config get list-max-ziplist-entries
1) "list-max-ziplist-entries"
2) "512"
$ redis-cli config get hash-max-ziplist-entries
1) "hash-max-ziplist-entries"
2) "512"
$ redis-cli config get list-max-ziplist-value
1) "list-max-ziplist-value"
2) "64"
$ redis-cli config get hash-max-ziplist-value
1) "hash-max-ziplist-value"
2) "64"
$ redis-cli config get client-output-buffer-limit 
1) "client-output-buffer-limit"
2) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
$ redis-cli config get hz
1) "hz"
2) "10"
$ redis-cli config get aof-rewrite-incremental-fsync
1) "aof-rewrite-incremental-fsync"
2) "yes"
```

今回の変更を適用したサーバで、設定を確認:

```
$ redis-cli config get list-max-ziplist-entries
1) "list-max-ziplist-entries"
2) "512"
$ redis-cli config get hash-max-ziplist-entries
1) "hash-max-ziplist-entries"
2) "512"
$ redis-cli config get list-max-ziplist-value
1) "list-max-ziplist-value"
2) "64"
$ redis-cli config get hash-max-ziplist-value
1) "hash-max-ziplist-value"
2) "64"
```

以上のことから、既存のredisの設定ファイルに変更が入ることについては問題ありません。

reviewers
==========

 * [x] @akm 
 * [x] @y-hattori