Added ability to name models.

Most models now take a name parameter in their constructors. Debugging trees
is much easier when models have good names.