Task 0.5 complete. Added UML generation

UML generation is accomplished with pyreverse, which depends on graphviz
(both have been added to .requirements.txt). To facilitate editing the
diagram, we convert the .dot file that pyreverse produces into a
.graphml file. The resulting .graphml file can be edited in a program
called yEd (http://www.yworks.com/en/products_yed_about.html), which
has cross-platform support and works quite well.

(Note: We can output the class diagram as any other image type but we
cannot easily edit the resulting file).
Parameterized output type for the `uml` target.

By default, the `make uml` rule now outputs a .dot file, which is
automatically converted to a .graphml file. This can be overridden by
setting the `UML_IMG_TYPE` variable when calling `make uml`. For
example, if you wanted to save the diagrams as PNG files then you would
run

    `make UML_IMG_TYPE=png uml`
Changed parameter name.

Simplified paramter name from `UML_IMG_TYPE` to `IMG_TYPE` since the uml
part is implied by the rule.
Merge pull request #18 from NintenJoe/Task-0.5

Task 0.5 complete. Added UML generation