filetype-767587: Add 'fileparser' module.

The file parser module uses the filesystem module in the case of NodeJS
and Firefox (and XHR in the case of the web) to provide implementations
of 'parse' and 'getPredictions' for the file type.

The file type is a bit of a spiders-web, but there isn't a nice solution
yet. The core of the problem is that the modules used by Firefox and
NodeJS intersect with the modules used by the web, but not each other.
Except here.
So we have to do something fancy to get the sharing but not mess up the
web.

The 'file' type will require 'gcli/types/fileparser', and there are 4
implementations of this:
* '/lib/gcli/types/fileparser.js', the default web version that uses
  XHR to talk to the node server
* '/lib/server/gcli/types/fileparser.js', an NodeJS stub, and ...
* '/mozilla/gcli/types/fileparser.js', the Firefox implementation both
  of these are shims which import
* 'util/fileparser', which does the real work, except the actual file
  access

The file access comes from the 'util/filesystem' module, and there are 2
implementations of this:
* '/lib/server/util/filesystem.js', which uses NodeJS APIs
* '/mozilla/util/filesystem.js', which uses OS.File APIs

Signed-off-by: Joe Walker <jwalker@mozilla.com>
filetype-767587: Add a 'file' type

This builds on the fileparser module to add a file type. It also adds
tests and demo commands, etc.

Signed-off-by: Joe Walker <jwalker@mozilla.com>