Extend the argument list of ItemGeneric in order to specify NULL as the initial state of the ItemData.

There are two reasons why the added argument is not simple bool.
(1) To avoid the ambiguity form arising.
Ex.)
  ItemInt(0, 0) can be parsed as both
  - ItemInt(int data=0, bool nullFlag=false)
  - ItemInt(ItemId id=0, int data=0)
  As a result, the build fails.

(2) It is hard to recognize the meaning of 'true' or 'false' in
the function call line.