Added partial (and somewhat buggy) file writing support

  - All files are currently assumed to be text/plain
  - Files have to be read before being written (often several times due
	to curently using a small block size)

  - Incidentally closes #3 as it turns out to be easier to cache than
	not to cache.