Removed the now-unused Data.Semiring modules.
Added defaults for the methods in MonadVisitor(Trans).
Added lots of MonadVisitor instances.

One of them made some of the Label instances
redundant.
Added docs for the type classes and types in Visitor.
Removed an unnecessary Functor constraint.
Added documentation for the visitor runners.
Stripped the fold markers from Visitor.hs

The documentation doesn't mix well with them and
people would probably find it easier to read
without them there unless they are already using
vim or jEdit.
Thoroughly documented Control.Visitor
Now Visitor is a top-level module.
Stripped and documented Visitor.Utils.Handle.
Renamed Visitor type to TreeBuilder.

After a lot of though, I decided that this name
would make its intention and purpose much more
clear.
runVisitor -> visitTree; walk -> walkThrough; step -> stepThrough
MonadVisitor* --> MonadVisitable*
VisitorLabel -> Label, LabeledVisitor -> LabeledTreeBuilder
Fixed the documentation in Visitor.
Stripped and documented IntSum and WordSum.
Branch -> BranchChoice
sendVisitorDownPath -> sendTreeBuilderDownPath
Documented Visitor.Path.
Deleted vestigial whitespace.