Added CFile::executable()

  This tests if a given path is an executable (file).
  Added file-related primitives.

  Added:

    * executable
    * file_exists
    * is_directory

  These allow conditional things in the user config file.