reorganize eba using functors for main modules

using a mix of functors and object to configure eba, functors
provide the initialization of a module in instanciation, and objects
are pretty good with a default implementation with inheritance
add eba_user and improve eba_db organisations

a lots of changes in this commit again, some db schemas
have been modified too, because of the new implementation
and because of future features (multiple emails for email for
example)
add hash functions into db config class
fix samples
update README
cleaning README
add some config files for EBA and update README
cleaning and reorganizing repo
add missing reset from cache when getting user
update gitignore
move useless source files for EBA into another dir

NOTE: the followings commits can make the project not compilable
update Makefile (adapt to the new eliomdep)
cleaning

does not compile (I'm currently in a big commit streak ;))
add eba_shared and eba_types
remove useless codes + cosmetic
remove old useless file
add eba_default (useful for default usage of EBA)
add eba_page
add eba_mail
add eba_state