Add protocol consolidation support to escript.build. Closes #2699
Fix logger watcher race condition

Previously a backend could be removed from logger and the watcher would
not have exited before the remove_backend/1 call returned. This meant
that a new watcher could not always be started because the child
(watcher) might still exist but be about to die.
Allow configurable timeout and catch exits on logger
Fix race condition in Logger.ErrorHandlerTest

When crashing the error logger handler, the handler's watcher could log
its message before Logger was flushed, causing the watcher's log
message to appear in the first, rather than second, capture_log.
Merge pull request #2713 from fishcakez/logger_eh_racecon

Fix race condition in Logger.ErrorHandlerTest
Merge pull request #2712 from fishcakez/logger_rc

Fix logger watcher race condition
Use to_string when possible on Logger.log
Remove code duplication on watcher
Update CHANGELOG
import_config/1 now accepts wildcards
Add timeouts to ExUnit, closes #2660
Demonitor and flush when appropriate
Add missing fixtures for escript test
Merge pull request #2701 from alco/escript-protocol-consolidation

Escript protocol consolidation