Fix uart/shell conflict

Currently there are two macros: ``UART0_BUFSIZE`` and ``SHELL_BUFFER_SIZE``. This is problematic in a number of points:
 * ``UART0_BUFSIZE`` is very small because of the possibility of memory constraints on certain boards.
 * currently ``SHELL_BUFFER_SIZE`` is at 127 bytes while ``UART0_BUFSIZE`` is at 32 bytes. This leads to weird behaviour with shell inputs longer than 32 bytes (the front of the input string is cut of).
 * The shell can be used over different media than UART theoretically (this is not a problem in the current setup but would be if we e.g. just set ``SHELL_BUFFER_SIZE`` to ``UART0_BUFSIZE``).

Therefore, I propose to make ``UART0_BUFSIZE`` configurable in ``cpu-conf.h`` and to make the buffer size of the shell a variable property of a shell (so one can set it e. g. to ``UART0_BUFSIZE`` if a UART shell is used or any other value they might seem fit).

Also consider my PR in RIOT-OS/projects#77