Clean up exports, use *Qid for sessions
Dont export R* types, make T*.Respond take the needed args.
Storing Qid pointers reduces the uglyness of FS not being able to
modify the Qid(for example the path).
More docs touchup
link to pkg.go.dev, godocs does not display examples correctly.
Adapt srv_test in to an example.
Be a bit more explicit on where to find documentation.
Add constants for Qid and Dir Type/Mode
Provide a NopFS for embedding
Generate message code instead of by hand
Long term I think this will make it easier to refactor
Rethink what needs to be exported.
Write up some usage docs
*Stat messages have a size prefix on the buffer
another dir test and use a test table
no need to export low level marshaling functions
Implement session management and slight refactor
NewSrv now takes a function to create a FS object, each 9p session
is given it's own instance of a FS allocated by this function.
This does not mean that all calls in to a FS are synchronous, but
does mean state(like user names from attach) can be stored in the
fs struct itself.
Create was left off the fs interface
first 'working' code
refactor on how responds are handled
current version of 9p is not 9p2020
sketch of Srv looping and refactor