consistent method receiver names
typo in documentation
small stylistic changes
rename WriteTo to Encode and (*File).SaveTo()
add (*Tag).Encode()
add a number of todos
don't support versions older than 2.3, either