Changed Field and Message to be interfaces rather than classes, so that their implementors' methods can be inlined.
Added field types.
Reorganised some files.
Messages can now read their fields from a byte array.
Readme file.