Logger package and RawLogger implementation start

Defined the new Logger package for providing Logging functionality.
A first implementation is RawLogger, that will just use regular
File stream capabilities.

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Fixed Logger interface and updated build system

Some minor changes:
 * Fixed interface, now Logger is a pure abstract class and
   RawLogger is a Singleton that implements it
 * Updated Makefile and build.xml
 * Added the obj/ subfolder

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Non-concurrent RawLogger completed

Completed a privisional RawLogger, not yet thread-safe:
 * Fixed linking problems in RawLogger implementations
 * Updated Makefile
 * Unit Testing: done

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
RawLogger: fixed test and Makefile

The Makefile has now been provided with a target to enable
debugging options, without modifying manually debug.h, and
the debug and assert macros of the testing module have been
modified.

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Added debug() to RawLogger methods

The debug() functions has been added for each RawLogger method

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Concurrent testing for RawLogger

Unit Testing module supports concurrency testing.
Added -g3 flag to the debug target in the Makefile.

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Thread-safe implementation of RawLogger

A static mutex has been added to RawLogger to protect static variables
and ensure thread-safe behaviour.

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Fixed minor bug on shared pointer

The integer used to count thread number was shared between threads
without being synchronized, now they all access separate dynamic
variables.

Signed-off-by: Raffaele Aquilone <aquiloneraf@gmail.com>
Merge branch 'logger_raw' into logger