fixed definitions of memcpy/memset

gcc actually depends upon the return value of memcpy when implicitly emitted
add -ffreestanding to flags

apparently this is the proper indication to GCC of a "freestanding" environment
a memcpy implementation to satisfy "freestanding" requirements
remove includes of arm/memory.h to avoid conflicting with kernel memcpy
modify uart_ipc_t to allow transmission of strings between processes

can now pass a buffer of up to 123-characters to UART to be printed out on the
serial port