Protection testing: use Location instead of a test-only WorldPoint class.
Large refactoring changes to test out new role/attribute providers. No longer requires the silly+confusing FactoryRegistry

As well, some moving of methods outside of Engine to further limit the "god-likeness" of Engine ...
Simplify ProtectionManager<> even further by removing the unneeded generic
Update c3p0 to 0.9.5-pre8