Implement head and tail functionality in bdsh/cat (thx Taylor Killian)
This patch fixes a number of problems in the cat app. Most importantly, it correctly displays characters at the end of the read buffer, where previously multibyte characters were being rendered as U_SPECIAL. It also implements the buffer size argument (-b) that the --help mentions. The size of the buffer must be at least 4 though in order to accommodate multibyte characters. Finally head (-H) and tail (-t) were implemented as per --help.