Ensure install fails if a property already exists
Add a function for Atlas type definitions
Use map insert instead of operator[]
Fail cleanly if a type exists

The code would segfault if installing a new entity class failed at the last
stage in Inheritance. Inheritance would return null, which would be assigned
to the factory's m_type. addProperties() assumes the pointer is not null.
This fix adds a check, and reports a failure undoing the whole process.
Update test factories to have a type

It is completely reasonable to require that a fectory has a pointer
to a TypeNode, so these tests always set one up now. Upgrade to using the
framework while we're doing it.
Add asserts to check entity factories have types
Fix a number of errors in Fishing script
Add a test for the fishing task
Rename "float" class to "bobber"

This frees up "float" for the fundamental data type in the Atlas tree.
Add some items to be done soon
Update a note
Support data driven properties more fully

This commit adds Atlas data_type definitions which property types
inherit from. It also adds methods used to install stuff that inherits from
them.
Modify interface to installFactory is available