Added ALPHABET and ALPHANUMERICS and updated code
Removed CWD output from review tests
Added support for testing classes and methods, specifying objects

YAML files can now contain !object:<class> directives, followed by a map
containing attribute names and values. These objects are instantiated using the
class definitions found in a student's submission, after it the submission
is imported successfully. Any of these objects have their attributes set
manually, in case their constructors are buggy.

In addition, YAML files can now contain a list of expected classes, which
can specify a list of expected methods. In the case of an 'eval' test, methods
are run from on an instance of the class whose attributes are set using the
'before' field of the eval test. An 'after' state can be specified to test
whether the method updated the appropriate state of the object, in addition
to the usual function test checks (e.g., 'value' or 'output').

Python 'eval' tests can now test functions or methods that take user-defined
objects as parameters. socrates will construct these objects and bind them to
names before passing them into the function or method.