Fixed SerialConsole and get_arguments tolerance to CR+LF.

The console wasn't really handling commands with parameters well (or at all) when using CR+LF instead of just LF, because it was leaving stray trailing \r's and other things.

I've refactored the handling of serial console command lines a bit (instead of grabbing the line char by char until \n, it now stops filling the buffer at \n and then grabs the whole line based on buffer length - at least it should be) and added additional \r\n stripping in get_arguments.

Debugging this was a bit of a pain, so it might be entirely possible i've screwed something up in the process. Also, i've been coding in loosely typed languages for years now and am a bit rusty with C/C++, so please excuse any glaring screwups.

From what i can see, both CR+LF and LF modes work fine now.