Implements remaining duplicate and remap methods. Fixes enums.

Enumerations are now duplicated correctly, which involves recursively duplicating ASTs. Some proofing still to be done, but for now, all duplicate and remap functions are basically working (There may be more definition subclasses which need to duplicate an AST; I only did enum right now).

No leaks, no segfaults in test case. To come: regression testing on C library, factorial template. Parsing C++ is, after all, turing complete. Have to make sure JDI is up to par before I sic it on the STL again.