Implement path_directory

Returns the physical file system path of an initialized
directory_t object as type wbuffer_t.

Parameter dir_path was removed from newtemp_directory cause you can
query it now with path_directory.

Also defined value sys_path_MAXSIZE which is the maximum
size in bytes of a file system path.

Made wbuffer_t a wrapper of either cstring_t, memblock_t or a static buffer.
For this reason a new type memstream_t was introduced to simplify the
implementation interface wbuffer_it.
Implement filepath_static_t

Implemented filepath_static_t which describes the path of a working
directory and the filename or filepath relative to the working
directory.

If the filename is an absolute path the path of the working directory
is ignored and only filename is stored.

This type is used to log the path of failed "file open" operations.
Add log_state_e to log interface

The log_it interface was extended with two function:

 *  log_state_e getstate(const void * log, log_channel_e channel) ;

 *  void setstate(void * log, log_channel_e channel, log_state_e logstate) ;

With these two functions every log channel can be configured to ignore
any write attempts, or buffer the log and write only if buffer full,
or to write every log entry immediately.

Added new flag log_flags_OPTIONALHEADER which writes the header only if this
is the first header written in the function. The log function remembers
the function name stored in the header. The flag log_flags_OPTIONALHEADER
ensures that the header is only written if the function name is different.
The flag log_flags_END clears the remembered function name in the log object.
Therefore every function must contain a log output at its end with
log_flags_END set. To ensure this TRACEABORT and TRACEABORTFREE which
logs the failure of a function and which are logged last set this flag.
Add type maincontext_CONSOLE to maincontext_t

The function init_maincontext now takes argument maincontext_CONSOLE
to initialize a context which logs only content written to channel
log_channel_USERERR.

The function run_unittest uses maincontext_CONSOLE for test
but must adapt things so that tests are working (configurations for
log channels are adapted).

Added argument maincontext_e context_type to init_threadcontext
which configs the log service according the current context_type.

Added module logwriter.c to projekte/subsys/context-mini to support
log_state_e for every log_channel_e. Default logger was logmain_t
which is kept minimal and therefore does not support setting different
log_state_e states.

textresource_compiler.c now supports function parameters

   <fctparam
      name="ERRSTR"
      value="(const char*)str_errorcontext(error_maincontext(), err)"
      format="%s"/>

to describes parameters (name) whose values are constructed during run time
by a function defined in the value attribute. They can be referenced
by their name as normal parameters in a text resource description.

Added new macro PRINTTEXT_USER_ERRLOG to log content to log_channel_USERERR.
Adapted some functions in file.c to write user readable error logs.