Finally squashed the bloody CRLF files
Message wrapping is now part of TestResult
Added todo note re: refactoring
TutorialTestResult now uses the exception object
Resolved #21
Updated version number to 3.00
Updated string1.tut
Added class_use.tut

The analysis for this tutorial is quite complex, and so it is a good
example of how to go about resolving #15.
Updated involved_identifiers to use varargs

This means that any node with multiple entries (eg Assign.targets) can be
passed in directly, eg:

    TutorialNodeVisitor.involved_identifiers(*node.targets)
Updated to use new argument getter
Merge branch 'master' into tests_framework
Merge pull request #32 from CSSE1001/tests_framework

Resolved #21 and refactored TutorialTestResult and TestResult
added dict1.tut
Merge branch 'master' of https://github.com/CSSE1001/MyPyTutor
Updated string5.tut
Added newlines between warnings/errors
Now uses TutorialNodeVisitor.identifier
Added list1.tut
Fixed typo :(
Added default definition of visit_FunctionDef

Serious problem with this implementation: subclasses need to call
super() on visit_FunctionDef, but CANNOT do so on any other methods (as
those methods are not defined on TutorialNodeVisitor).

Two (three?) possible solutions:
* try/except on every super call
  - this is yuck, and is seriously not even an option
* define every possible method on TutorialNodeVisitor
  - this will actually solve the problem
  - side effect: generic_visit will not be called (breaks with
    expectations)
  - can add dynamically by listing appropriate classes to override:
      classes = map(partial(getattr, ast), dir(ast))
      classes = filter(inspect.isclass, classes)
      classes = filter(lambda c: issubclass(c, ast.AST), classes)