Enforce SMB dialect format

There must be at least 2 dialects and the format is always 0x02, meaning a null
terminated string.
Enforce SMB protocol on SMB message
Restore writing of netbios and smb message headers to buffer
Limit writing of data to only serialized bits

size() of std::array gives the whole array size, not just the data that we have
written to it
Fix available read size
Add comment about rewriting netbios packet length