Dynamic endpoints handlers

chttpd hardcoded handlers are replaced with with dynamic url handlers,
which are functions in a dynamically created module, assembled from
priv/chttpd_handler.cfg files from all interested applications.

For couched these are currently: chttpd, mem3 and global_changes.

This is a special branch that pull the prepared branches (of the same name)
of chttpd, mem3 and global_changes, which have the config files.

Run 'make check' to test the handlers. They are implicitly tested by other
tests and there is a whitebox callback test chttpd_handler_callback_test,
which calls the dynamic functions directly and mocks the funs that they
return. This tests precisely the relationship between the *_handler function
clauses and the returned function.

There are more tests to come, both testing the endpoints via http, and the
configuration assembly.

BugzID: 27037
Please don't call ?assert from eunit tests generator: this makes debugging extremely hard:
```
  chttpd_handler_callback_test: all_test_.................................................. *failed*
::error:function_clause
  in function chttpd_db:handle_request/1
    called as handle_request(x)
  in call from chttpd_handler_callback_test:'-assertReturns/3-fun-1-'/2
  in call from chttpd_handler_callback_test:assertReturns/3

  chttpd_handler_callback_test: all_test_...favicon.ico.................................... [0.070 s] ok
  chttpd_handler_callback_test: all_test_..._utils......................................... [0.071 s] ok
```
since ?assert* macros checks expression in runtime while ?_assert* doing this when eunit really starts to run the tests + it provides better traceback. See how couchdb-couch tests are done.