Create and use VariableRequest wrapper

Rather than simply receiving names of files, receive a directory list
and return a list of VariableRequest objects. Each of these wraps a
libtifiles VarEntry and provides access to some useful information about
each available variable.
Retrieve variables from calculator

Implement an internal function to retrieve a variable from a calculator.
This takes the FileContent created by libticalcs and converts each
VarEntry in it to a CyTI Variable object containing a memoryview for the
raw data retrieved from the calculator.

Ideally, this functionality would be mainly used internally. Users may,
for example, call a simple get() method to retrieve the actual value of
the number stored on the calculator. Of course, the raw data can be
retrieved in this way if desired.