Replace echo's implementation with a template system.

Echo's functionality is now split into two classes, one containing the generic
functionality and one implementing the emulation (POSIX_Detail, XSI_Detail,
GNU_Detail). Only POSIX_Detail is implemented at the moment.
Use -fvisibility=hidden and reorganize Source/CMakeLists.txt