Mutiple calls to define with the same daoName add duplicate factory entry

This will stop the factory leaking DAO's if define is called more than once with the same name. Also included a new test to perform factory size comparisons.

I utilized existing defined methods, but this functionality could thrown deeper into dao-factory-manager. Let me know if there are any issues here, otherwise I'd love to get this little ditty into 1.6, since it's just leak protection.

All tests pass.