* Cellular: Add back weak CellularInterface::get_default_instance
The enables the cellular call flow below:
1. Weak CellularInterface::get_default_instance (NetworkInterfaceDefaults.cpp)
2. Weak CellularInterface::get_target_default_instance (NetworkInterfaceDefaults.cpp)
3. Weak CellularContext::get_default_instance (CellularContext.cpp)
4. Weak CellularDevice::get_default_instance (CellularDevice.cpp)
5. Weak CellularDevice::get_target_default_instance (CellularDevice.cpp)
So that cellular modem driver can override CellularDevice::get_default_instance
or CellularDevice::get_target_default_instance to provide actual default
instance.
* Cellular: Fix overriding CellularDevice::get_default_instance failure
With e.g. GCC linker option "--undefined=<LINK_FOO>", pull in the object
file implemening CellularDevice::get_default_instance anyway for being
able to override weak symbol successfully even though from static library.
See: https://stackoverflow.com/questions/42588983/what-does-the-gnu-ld-undefined-option-do
* Cellular: Fix ThisThread::sleep_until link error
ATHandler::cmd_start (ATHandler.c) calls ThisThread::sleep_until, which
has parameter abs_time, whose type is Clock::time_point. Clock::time_point
type has different definitions dependent on MBED_CONF_RTOS_PRESENT defined
or not (rtos/Kernel.h). For cellular application whose executable cmake
target always links mbed-os rather than mbed-baremetal, mbed-cellular must
also link mbed-rtos-flags to be consistent with executable, so that both
have MBED_CONF_RTOS_PRESENT defined.
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.