add supports of view changes in the _changes API

Now when the option `seq_indexed=true` is set in the design doc, the
view filter in _changes will use it to retrieve the results. Compared to
the current way, using a view index will be faster to retrieve changes.
It also gives the possibility to filter changes by key or get changes in
a key range. All the view options can be used.

Note 1: if someone is trying to filter a changes with view options when
the views are not indexed by sequence, a 400 error will be returned.
Note 2: The changes will only be returned when the view is updated if
seq_indexed=true
release: version couch.app.src shoud be set manually

fix build issue with some old version of rebar. Now the version of the
couch.app is set manually.

RCOUCH-2 done
couch_log: use lager

With this change instead to use our own way to log file we are using
lager which improve the logging which will make couchdb more tolerant in
the face of large or many log messages, won't out of memory the node.

Note: Lager can handle multiple backend butwe are for now only handling
the file and console backend in the ini file. Other backends can be
configured using the app.config file.
couch_log: be less invasive when using parse_transform

Noticed when running tests vi travis-ci, jiffy doesn't like too much
lager and the build hangs. So instead to compile all modules with the
parse transform, only do it for couch_log. This is the only place where
we really need it anyway.
couch_log: make sure that the the log file can be set in the ini

For some reason noone noticed until now, but changing the log file was
only possible in the app.config until now. This change fix this by doing
the following:

- when couch_log starts it check if the log file handler has already
  been started using the app.config. If not it start a new handler
- when the filename change after a config update using the API, the old
  file handler is shutdown and a new one is started with the new config.