Use more correct methods.
Added plant properties.
Make goals more clearer.

By specifying the parameters as named ones we make it more clearer
what's expected.
Use int cast for rounding.

-std::lrint is missing in msvc.
-A third party library can change behavior of
ember with std::fesetround() which is very bad.
Replace initializer lists with old style variables.

Initializer lists are not supported by msvc.
Fixed issue with LOD and scaled models.

The general LOD strategies doesn't take scale into account. However,
since we use scaled entities quite a lot we need to handle this.
This change introduces a new LodStrategy which acts just as
Ogre::PixelCountLodStrategy but also takes scale into account.
It fixes the issue with some models using too low LOD level meshes.
Make calculation simpler.
Use max scale instead of min.

Since it's worse if a low LOD mesh is shown when it shouldn't, than the
reverse.
Update goal definition.
Improve rounding.
Added command for creating entity in inventory.

Instead of always creating it in the world.
Allow entities to be created in other entities.

The syntax is "/make entity_type parent_id".
Use std::shared_ptr instead of boost.
Expose avatar entity being deleted.
Show simple info when the avatar entity id deleted.

For now this is very simple; we probably want to take a closer look at
how the death of a character is handled in general. Some game modes
would probably want to avoid player entities to be deleted at all.
Properly check for size of vector.

This fixes a bug where Atlas objects would get contaminated, leading to
SmartPtr errors elsewhere.
Improve iteration speed in Model.

The most common operation in the Model class is iteration over the
submodels, particle systems and lights. To improve performance we'll
keep a vector of these instances and iterate over this.
Fix issue with uncontrolled pitching.

By using separate nodes for pitch and yaw we can avoid rotation issues.
Don't abort other picking listeners.

The functionality whereby one listener can abort the whole picking
session isn't completely thought out. In this case it made editing of
terrain areas cumbersome if anything else obstructed the area editing
spheres.
Better to just keep it internally to each listener.
Draw the editing spheres no top of everything.

Together with a material which ignores depth checks this makes the
spheres easier to interact with.