Bug #732948 - Add backend-per-process support

With this we can have all backends running on theirs own processes, in
this way, if a backend crashes we don't have the whole factory crashing
together. Also, each instance of the EBackendFactory can decide if they
want to have all instances of the same backend (like calendar, memo list,
and task list) running in only one process (useful for evolution-ews and
evolution-mapi where we can share the connections between calendar, memo
list and task list) or have each extension running on its own process.
Apart from that, a configure option was added and, in case the user wants
to keep the old behavior, it can be disabled by passing
"--disable-backend-per-process" to the configure.

As a side effect of these changes, we are enforcing that the hash-key
used to keep track of the backend-factories will be built internally and
that *always* will follow the "backend-name:extension-name" structure,
even for ECollectionBackends.