Make id optional for viewables.

We only need an id property for calculating the hash of the object. Lets be
a little less strict and allow viewables to not need an id and use default
hashing when this is the case.

Change-Id: Ia2f920fc608013fd084e68e5ce88b08ff687d9f3
Show divergent items for inventory report

We were showing only items that were adjusted (ie, had the stock quantity
fixed), but we should also show the ones that were counted with different
values from the recorded values.

Change-Id: I0ccbc4fb03a8290badaf4acb394cf3581b87fe59