removed ReadWriteLock as a parent of UsedCountable.

A major impact by this change is that methods in ItemTable,
ItemGroup, and ItableTable (they are sub classes of UsedCountable)
cannot call lock functions.

At first they were designed to be safe for read and write from
multiple threads. Actually, they are less changed after they
created. So we use them without the lock.

The following work should be later.
- increment/decriment a used counter atomically
- add const the return of getters of ItemData etc.