Updated disk inode struct and inode creation.
Not tested, not complete.
Created grow method, redefined inode_create.
Finished file growth.
Fixed writes
Merge branch 'buffer_cache' into indexes

* buffer_cache:
  Whoops accidentally pushed debugging code
  And also in cache_write
  Forgot to allocate c. Also was accidentally freeing cache blocks
  Initialize buffer cache before filesystem
  Remove segfault in inode.c
  Prevent kernel panic from trying to access buffer cache before its initialization

Conflicts:
	src/filesys/inode.c
fixed merge
Merge branch 'buffer_cache' into indexes

* buffer_cache:
  Also free the block
  Don't free cache blocks
Merge branch 'buffer_cache' into indexes

* buffer_cache:
  Set dirty flag to false when it's written back
  Was never pushing the block to the cache list and also was evicting incorrectly
Merge branch 'buffer_cache' into indexes

* buffer_cache:
  Remove evicted cache block
Merge branch 'master' into indexes

* master:
  add some checks in inode.c and now the tests pass again
  list_begin not list_head
  Move the check block in cache to the .c file
fixed normal tests. some growth tests fail.
Merge branch 'master' into indexes

* master:
  Just remembered that reads don't need locks
  Added block-level synchronization to the filesystem
  Add the stuff for the lock holders list into lock_try_acquire as well
  Initial commit of DESIGNDOC with some pretty awful answers

Conflicts:
	src/filesys/inode.c
bugfixes and synch-fixes