made UsedCountable::unref() a const function.

Previously, this function doen't have const function qualifier,
because it may deletes itself. I thought it shouldn't be 'const'.

However, I'll add 'const' to ItemData, ItemGroup, and ItemTables
instances to avoid them from being changed. In that case, their
instances requires 'const' to unref() that is called in the destructor.

The mechanism to count used count and delete itself when nobody
uses it, provided by UsedCountable works without conscious awareness
of ItemData users. And no problem when const sub-class instances of
UsedCountable calls unref(), because the destruction happens after
the end of the use.