Added support for parameterized PailStructures

This allows PailStructures to be parameterized. It is backward compatible with the old method of simply using a class name in the PailSpec. 

Note, this introduces a dependency on the fasterxml versions of Jackson. 

I've included a pom.xml file for users of Maven.

I also added a retry mechanism for renaming.  Sometimes it fails for mysterious reasons.