def ls_files(location=nil)
      location ||= '.'
      {}.tap do |files|
        command_lines('ls-files', '--stage', location).each do |line|
          (info, file) = line.split("\t")
          (mode, sha, stage) = info.split
          files[unescape_quoted_path(file)] = {
            :path => file, :mode_index => mode, :sha_index => sha, :stage => stage
          }
        end
      end
    end
List all files that are in the index

@param location [String] the location to list the files from

@return [Hash<String, Hash>] a hash of files in the index
* key: file [String] the file path
* value: file_info [Hash] the file information containing the following keys:
* :path [String] the file path
* :mode_index [String] the file mode
* :sha_index [String] the file sha
* :stage [String] the file stage