|SOURCE|
[Common::System::File]
* Added File class which will handle opening, reading, writing, and navigating
  files
[Common::System::NativeFile]
* Added NativeFile which will access a file from storage like any other file,
  without any meta data
[Linux::System::NativeFile]
* Open
  * Uses the flags for the Access type to determine how to construct the mode
    parameter for fopen
  * Returns ZED_OK if the file was successfully opened or ZED_FAIL if it could
    not be opened
  * More specific information about any possible failures is printed to the
    terminal
* Close
  * Checks if the file is open, if it is then it is closed
* ReadByte
  * Reads in the specified amount of bytes to the data pointer passed in to the
    member function
  * Returns ZED_FAIL if the length read does not match what was requested
|SOURCE|
[Common::System::File]
* Added FileExists free function to determine if a file is present on the
  storage device
* Added DirectoryExists free function which will determine if a directory is on
  the storage device
[Linux::System::File]
* FileExists uses lstat to determine if a regular file or symbolic link exists
  on mass storage, if a symbolic link was not requested and the file is a
  symbolic link, ZED_FALSE is returned, otherwise if a symbolic link or a
  regular file is discovered, ZED_TRUE is returned
* FileExists will report any errors generated while attempting to determine if
  the requested file exists
|MERGE|
unstable into system_file
|SOURCE|
[Common::System::File]
* Added GetSize, which returns the file's size, in bytes
[Common::System::NativeFile]
* Added GetSize from the base class
[Linux::System::File]
* DirectoryExists does no error checking but will return ZED_TRUE if the path
  passed in is a directory, otherwise it will return ZED_FALSE
[Linux::System::NativeFile]
* Open gets the file's size and stores it for later use
* ReadByte works correctly by not using the p_pRead parameter for the amount of
  bytes to read, it was mistakenly used for the returned bytes read (which is a
  mystery to the author of the code)
* ReadByte uses the size of ZED_BYTE for the size parameter in fread
* GetSize returns the amount of bytes the file contains
|MERGE|
system_file into unstable