Make file structures dynamically allocated

Current td->files is an array of files, make it an array of pointers
instead and allocate individual file structures on the fly. This is
a preparation patch for file sharing.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/io_u.c b/io_u.c
index 0ffae29..0f455cf 100644
--- a/io_u.c
+++ b/io_u.c
@@ -561,7 +561,7 @@
 		long r = os_random_long(&td->next_file_state);
 
 		fno = (unsigned int) ((double) td->o.nr_files * (r / (RAND_MAX + 1.0)));
-		f = &td->files[fno];
+		f = td->files[fno];
 		if (f->flags & FIO_FILE_DONE)
 			continue;
 
@@ -582,7 +582,7 @@
 	struct fio_file *f;
 
 	do {
-		f = &td->files[td->next_file];
+		f = td->files[td->next_file];
 
 		td->next_file++;
 		if (td->next_file >= td->o.nr_files)