Avoid indirection caused by passing shared_ptr by reference
The block factory does not have responsability on the lifetime of their inputs
Define std::make_unique when using C++11 and make use of it
Printers are turned into unique_ptr to express ownership
Printers do not participate on the lifelime of the data, so they take const raw pointers
Modernize tests code
External sources and data are now always stored in a ./thirdparty folder under the building directory.
A copy of the generated binaries will be stored under gnss-sdr/install, if the building directory is inside the source tree, or in an ./install folder under the building directory if it is outside the source tree.
Fix a bug that broke compilation if the user configured the building without extra testing in a first instance, and then switched the testing buiding options to ON in a later build.
Fix extra test building if GPSTk was already installed and Boost >= 1.71