Factory updates!!!

Instead of name, Factories return the class they produce
Factories serializeXxx methods added
Factory buildXxx and serializeXxx methods throws JPokemonException
Two factories moved out of their example subpackages
All the examples updated