Additional Network system implementation

- Added 2 methods to the Network interface
- Implemented multiple methods in the NetworkSystem concrete class
- Added more tests to NetworkSystemTest
- Updated GameException and subclasses to accept a Throwable in its
constructor