Support for reading SVC_Print server messages
Support for reading SVC_ServerInfo server messages
Heavy refactoring of specs

Main changes:
- Introduce TestDemo class which contains all logic related to the different test messages in the demo file (both demo and server)
- Introduce io.peek method to ensure our rspec-given Then clauses have no side effects
- When testing byte string results like io.peek(2) == "\x00\x00" always our custom StringIO#ascii! method to ensure proper rspec error messages when tests fail