Dependency Lookup ではなく Dependency Injection を使用する

`CouchDb` クラスに `$app` を渡し、中で `$this->app['monolog']` を使うようになっていましたが、 `$app['monolog']`  (というか正確には `$app['logger']` ) を渡すようにしています。
こうすることで、 `CouchDb` クラスが何に依存しているのか明確になり、ユニットテスト等書く上でもやりやすくなります。

`$app['monolog']` じゃなくて `$app['logger']` にした理由については、 `Monolog` 以外のロガーを使いたいときに、違和感なく書けるようにです。
`Silex` の `MonologServiceProvider` を読めば、問題のないことはわかると思います。

また、元はロガーが省略可能になっていましたが、省略付加にしました。
代わりに `$app['monolog.handler']` に `Monolog` の `NullHandler` を使えば、Null Object Pattern みたいな感じでそれが実現されます。