0.13

Some behind-the-scenes work in this one, and some stuff that can be seen at the
user level.  The most noteworthy user-level change is the ability to write to
SOME files.  At the moment, this is very limited: only existing, non-extended
files can be changed.  Also, a file's on-disk footprint is not decreased when
it is truncated.  In a word, be careful doing anything but extending existing
text files.  And even that is probably perilous. :-)

The biggest internal change concerns the usage of the struct inode.u.minix_i
structure for holding ProDOS "inode" data.  I am no longer stuffing values into
the fields manually (and bit-by-bit) using PRODOS_I_* macros.  I am now simply
overlaying the new "struct prodos_inode_info" onto minix_i and accessing it via
simple reads and assignments.  I decided that a few wasted bits won't hurt us
in the long run.

Since we are overlaying one structure onto another (via pointer casts,
obviously) I also added a check in the module init function to verify that
struct minix_inode_info is, indeed, at least as large as struct
prodos_inode_info.  We don't want to go reading and writing memory that doesn't
really belong to us.

There are also several small bug fixes in this one.  As usual.
