Crash bug fix

This bug crashed tibianic.org gameserver.

Steps to reproduce:

1. Player goes to sleep in bed
2. The bed has been removed (either by house modification, or in game - it doesn't matter)
3. Player wakes up from non-existing bed, the bed was saved in database and deserialized to a dummy object by IOMap class. However, since the dummy object is only used to deserialize attributes, it is destroyed after the deserialization. Inside Bed class the readAttr(AttrTypes_t attr, PropStream& propStream) function of Item class is overridden in which case the object (bed) is added into a global container with all sleeping players:

beds.cpp:

Attr_ReadValue BedItem::readAttr(AttrTypes_t attr, PropStream& propStream)
{
...
Beds::instance().setBedSleeper(this, _guid);
...
}

However, it isn't removed once the object itself is destroyed. It will lead to situation when the player by waking up (logging into game) will try to access the destroyed Bed object, and call it's internal functions.

The solution is simple, in the overridden destructor of class Bed the bed itself should be removed from the container:

beds.cpp:

BedItem::~BedItem()
{
	Beds::instance().setBedSleeper(NULL, sleeperGUID);
}