Enshrining the initial version of peg.cpp

I intended when setting up the peg repository to strip peg.cpp
down to the latest versions of the classes and operators after
committing its initial version. I have decided that since it isn't
that big a file, I would prefer that visitors have access to its
original state without navigating back to the first commit, so
this file shall not be modified in the future.
Another clean-up pass

The ugliest thing right now is the way I get labels applied to productions.

It's all done with overloaded operators, though not to the extent that
Boost::Spirit does.