Merge pull request #1 from edahlgren/master

Return useful error messages and debug information.
Create a map for fileNodes

eventually this will let us do more than one attach to more than
one server

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Make it all easily built.

This may break go gettability but go get is now considered harmful.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Start using the Fid.

The whole point of this exercise is to have fids for each request ...

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Minor cleanup

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
More cleanup.

Move server types into the file that implements the
interface.

Create a null server, null.go, which is used when bogus
fids are passed in. Saves a bunch of checking. Not sure
if it's what we want.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Add a ramfs

This helps clean up the interfaces.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Get rid of top-level so9p.go, replace with a real test

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
ramfs works for trivial cases

That's all we wanted it for.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Initial testing

It's all way too damn chatty. But it works.

RAMFS is built in but only turned on for testing. We may need it someday
so I'll leave it like that for now.

Possibly at some point we use build tags to get it in or out.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Start adding bad fid tests.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Not passing but at least we're on the right path. I hope.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Client has 2 things: So9pConn and So9pClient

Attach is called with So9pConn, returns So9pClient

No more calling Open on Conn, you only get to call Attach.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
On the client side, Open/Write now return a So9file

Which will soon implement ReaderAt, WriterAt, and Close

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Read, ReadAt, Write, WriteAt

now officially interfaces in the io. style

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Create an Unattach rpc so that dying clients can reattach