[Optimization] One task less.
[Aux] Using move semantics widely.
[Code Style] Styling and reordering.
[API] Streaming sink now allows to use custom `std::ostream`.
[Thread Safety] First look over thread safety concept.
[Code Clean] Code review: frontend.

Added some typedefs for readability. The code has been slightly reformatted. Variable renaming.
[Aux] Thread-safe concept review.
[Aux] Move message, maybe some sinks need its copy.
[Aux] There is no need for this code.
[Aux] Trait based smart thread-safety for sinks has been implemented.
[Code Style] Style.
[API] Null sink is thread-safe. Wow!
[Thread Safety] Files sink is thread unsafe.
[Bug Fix] Forgotten include added.
[Thread Safety] Syslog sink is thread safe.
[Tasks] One task less.
[Aux] Refactoring done over syslog sink.
[Aux] Another renaming done.
[Unit Testing] Open access to the `backend` variable for mocking purpose.

I don't clearly think it's perfect solution.