Adding new modules inside the namespace could be breaking change for existing code base
hence add `using namespace::class` for classes newly added to mbed namespace to maintian
backwards compatibility.
MBED_NO_GLOBAL_USING_DIRECTIVE is added to remove auto-addition of namespace
Macro guard `MBED_NO_GLOBAL_USING_DIRECTIVE` is added around namespace, to avoid
polluting users namespace.
CRC class adds to the ROM size even when disabled runtime, because
of addition of ROM tables. Addition a compile time option to disable
CRC is required for reducing code size of SD driver component.
Library config option `SD_CRC_ENABLED` is added, set it to 0 to
disable CRC feature in SD.
Correct types passed to debug() calls - as part of this, block size and
erase size are changed to be 32-bit - using 64-bit variables for these
will cause unnecessary code bloat.
Many uses of bd_size_t in the BlockDevice API should really be uint32_t
or size_t, but that would be a bigger API change.