Create a ASSERT_ALWAYS macro as utility macro.
Create a ASSERT_ALWAYS macro as utility macro.

When using the assert() function, the condition is not evaluated in
release mode, only in debug mode.

This new macro implements a condition verification that is build
type independent (active both in debug and release modes).
Add the file,function and line in error output. Using terminate()
instead of abort() allow to handle the assert. Using __FUNCTION__
instead of __func__ to be compliant with all compilers (visual
studio 2013 and upper and linux), also make the C++ file name.

Signed-off-by: Thierry Quervel <e8a0a68632f841161808414cc7994b1276f0fb82@intel.com>
Signed-off-by: Louis Le Gall <c111ba037d5e604007ed95788fc4c325e2a6c683@intel.com>

mgaio/parameter-framework,miguelgaio/parameter-framework,krocard/parameter-framework,mgaio/parameter-framework,01org/parameter-framework,dawagner/parameter-framework,clero/parameter-framework,dawagner/parameter-framework,krocard/parameter-framework,mgaio/parameter-framework,01org/parameter-framework,01org/parameter-framework,miguelgaio/parameter-framework,clero/parameter-framework,miguelgaio/parameter-framework,krocard/parameter-framework,clero/parameter-framework,dawagner/parameter-framework