Swap tuple and dict isinstance checks in router

When walking the routing tree, the majority of pathways encountered will
be of the dict variety rather than the tuple variety, so a very minor
speed up can be realized by swapping them to put the dict check first.
Consolidate returns in base classes

When possible, use only one return statement to make functions more
readable.
Builder/checker module init w/ pkgutil

Allows the builder and checker packages to build up their data module
list using the pkgutil.walk_packages() function rather than specifying
them by hand.
Notes about maximum length of segments in routers

Clarifies the router's use of the maximum length segment information in
its constructor documentation.