[ale] added api to batch logger config compilations

It's now possible to wrap ale (re)configurations with call to
ale:with_configuration_batching/1. Within "body" of that call all ale
compilation is delayed and at the end of that call all loggers are
recompiled.

Using that API allows setup of complex ale log topologies without
overhead of recompilation on every call to ale:add_sink and
ale:set_loglevel.

Change-Id: I850f02060b6957fec9d295ecd3c427d81abe7e36
Reviewed-on: http://review.couchbase.org/42358
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>
improved startup speed by using ale:with_compilation_batching

Which eliminates about 4 seconds from startup time on my box by
batching logging configuration compilations.

Change-Id: Iee1b0dfd0c0762756fd3bee7ad4603278030e258
Reviewed-on: http://review.couchbase.org/42359
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>