call local methods instead of SUPER

it was hard to understand code when it was calling
SUPER functions. Use "local" methods, just avoid
things we don't need - acl checks and a new transaction.
set TimeTaken on txn when TimeWorked changed on Ticket

to make it easier to build stats and for consistency

use __Value to avoid ACL checks as User may not have rights
to see newly created tickets.
test TimeWorked changes and TimeTaken on txns
on upgrade set TimeTaken on (Set, TimeWorked) txns
handle strings during upgrade of (Set,TimeWorked) txns

Pg and Oracle will stop update query if string can not
be converted to integer.

NewValue for (Set, TimeWorked) txns may contain string
if this DB was used with mysql and users entered strings
like "two days" as TimeWorked value. mysql just
converts string to 0 that end up in TimeWorked of a ticket,
but string as is ends up in transactions table.

For Pg/Oracle operation is just rejected and SetTimeWorked
fails.

Let's adjust upgrade SQL just in case RT was migrated from
mysql to Oracle/Pg.
Merge branch '4.2/consistent-time-taken'