IndexFile Created and Tested

Created and Tested an IndexFile class which manages an index file for
the Cache, so instead of write 1000s of individual files to disk when
cache items are evicted, this class will manage an index file which can
be used to store the items key and the values position in the data file.
The data file wll be a single append only file which will hold all the
values.
Renaming

Renamed the FleIndexer class to KeyFileIndex which is a bit more
desciptive of its purpose

Renamed the end variables to length, so they are describing what they
are. as they dont represent the end position but the amount of bytes to
read
solution saved this time too...
Switched Direction

So the DiskCache didn't work out, it was very very very slow! So its
been deleted.

But I did abstract the FileCaching into an Interface ICacheToDisk and
tried another implementation which uses directories. The directory cache
is much faster than the File one. This is now the default implemetation.

Found a bug while actracting the DiskCache where the previous code was
checing for files in c:\ and not c:\baseDirectory, so it was constantly
saving items to the disk.
Make Sure the Directory Exists

Just making sure the directory we will be using exists before we start