Implement SMB2Message and payload classes
Update parser tests to use SMB2Message structure

This reuses some serialization code, which means the tests now test some of
SMB2Message.