Fix multiline comments

A couple of issues fixed here. First peek_n was pushing back the input data incorrectly when a buffer of input was available, that was fixed by swapping the append order. Second issue was that if something followed =begin or =end parsing would fail. I also added a number of tests to highlight the issue.