- mytime: max/min configure with UTC tz, convert to local tz during process starting, convert it to session tz before checking bound.
- time: so `check()`/`add()` need force pass `StatementContext` parameter.
- builtin_time: pass `StatementContext` from `b.ctx.sessionVars` into check/add.
- dump: also set timezone for StatementContext with UTC.
- *_test/mock: fix test case, make mock context with stmt TimeZone.
- add testcase for checkTimestamp and mytime convert timezone.
Fixed RoundError issue #3471
Bug Cause:
1. when deserialize mysqlDuration, the Fsp is setted with 0 instead of the Fsp from column information.
2. the default decimal for column with TypeDuration is 0.
1. FromPackedUint don't consider time_zone any more, moved to Unflatten
2. use session's time_zone instead of time.Local
3. add a time.Location parameter to some Encode/Decode functions in tablecodec