Add module_facade
Fixup against adding facade
Switch stl.py to use new module_facade
Add extern/pyparsing.py
Switch to pyparsing for C++ template parsing
Add stl.map(stl.string, "TH1*") test
Merge pull request #83 from pwaller/stl-pyparsing-module-facade

Introduce @Facade, rework stl parsing to use pyparsing
begin implementation of new registry mechanism in the main __init__.py
major rewrite of registry code
add math.physics.vector.* to registry
tests pass
only use asrootpy in Get if thing is not None
import ROOT last
fix imports in example and rm registry and utils from docs
Merge pull request #84 from ndawe/registry

Rewrite of the registry mechanism
minor docs edits
Merge pull request #85 from ndawe/master

minor docs edits
Update STL docs
add preserve_current_directory context manager
Emit an error wherever the diaper pattern is used

It's bad practice in python to catch exceptions you're not explicitly
expecting. Python's mantra "It's easier to ask forgiveness and permission"
doesn't apply to thinks you weren't intending to do.

    try:
        ...
    except:
	pass

will prevent python from exiting, and silence errors you weren't aware of
anywhere upstream, making it much harder to debug programs.

The same applies with this:

try:
    from mod import stuff
except ImportError:
    pass

Unfortunately the above is also a bad idea, because it might catch things
you weren't expecting, such as one of `mod`'s imports failing. It is
better to have mod set another variable (`have_stuff`?) than to catch
more than you intended to.

This stuff leads to debugging nightmares, so I've put in an error message
at a few points with the text "BUG: please report this! (exception type)",
so that the correct exception type can be used.

IMHO, it's better to ask permission where it's easily possible.