Inheritance needles

Implements Base and Derived needles (but under the names child and parent... )

Depends on #295
We don't have a really solid set of practices for module-level things. Technically, anything not supposed to be accessed from outside the module (aside from tests) should be _. But then everything starts with _, and I think it's uglier than most people are able to stand. So there's an alternative, one that I use in Parsimonious, where you don't mark any top-level things private but instead put a list of the public things in ``__all__`` (which Python pulls things from whenever you import *). I like that a bit better, and I wouldn't mind moving DXR in that direction. Hmm, I think I'll ask the rest of #webdev and see what they think.