Distributed Class Rewritten

This branch is a near complete rewrite of the distributed class parser.
Goals of the branch are primarily focused on improving long-term maintainability and removing some cruft, but while maintaining (almost complete) .dc-syntax compatibility with Panda3D's current dcparser implementation.

Architecture decisions for the new Astron dc parser were based primarily off of:
 - Modularity
 - Naming clarity
 - Clean and obvious inheritance
 - The Unix philosophy (do one thing, do it well).
 - The ability to edit a particular behavior, or add a new feature without having to change much.

Please some time to review this branch.  Note that some earlier commits may not be relevant in that their files were eventually deleted, or greatly rewritten.