Ignore read-only transaction cache when getting a category from a new or temp object

The purpose is to be able to use the amount generator during indexation.
At some point, it executes:

        if amount.getQuantityUnit():
        ...
        for x in property_dict.iteritems():
          amount._setProperty(*x)

where `amount.getQuantityUnit()` may getResource before it is set.
Any further access to the resource category would be wrong.

There may be a way to only change the amount generator but this kind
of pitfall is likely to happen in many other places if we keep such
a read-only transaction cache for new or temp objects.

See merge request !1818
7 jobs for master in 0 seconds
Status Job ID Name Coverage
  External
failed ERP5.CodingStyleTest-Master

00:36:28

failed ERP5.PerformanceTest-Master

00:28:52

failed ERP5.UnitTest-Master

01:19:03

passed ERP5.UnitTest-Zope2

01:40:00

passed SlapOS.Eggs.UnitTest-Master.Python2

00:17:15

passed SlapOS.Eggs.UnitTest-Master.Python3

00:22:11

passed Wendelin.UnitTest-Master

00:42:10