Add dateBasedDelta, use for nextDay() etc.

This works better for situations when the number of seconds in a
given time period is not constant (due to daylight saving, leap
years, leap seconds etc, num of days in a month etc).
Expose userID and add `getByUserID` for working with raw ID strings

(useful for logging in a generic way)
Load views from script directory, not content directory
Map current user, current user ID, and session ID
Use singleton APIs, rather than instantiating a new one each time it's required
Include userID and sessionID in logs if available
Also print original error (in case it's unrelated)
Expose session ID
Shortcuts to sessionID, currentUser, currentUserID
Injection fix (APIs should not be singletons)

Also remove some old and no longer correct documentation.
Remove duplicate injection (already injected in the line above)
Add AcceptEither, change DetoxResult

AcceptEither is an abstract that lets you accept one of two value types in your function arguments, and
then uses `tink.core.Either`to give you a type safe way to handle both cases.

DetoxResult now works directly with widgets, and uses `mapData()` rather than implementing a
similar reflection strategy.  In time the aim here to have a client side version where the view layout
can persist between requests, updating individual content/properties only as required.
Change null check and switch to just switch.

Haxe 3.2 checks for exhaustiveness of the "null" cases when switching on Null<T>, so we might
as well do the null check inside the switch.
Various null safety fixes. Move `regenerateFlag` handling.

A lot of whitespace changes.
Show inner error in log (often more useful)
try/catch around sort.  If it fails to sort it will move on silently.

This helps in the event of null access errors etc.
Rename param for map to stringMap
Change readString() to getString() for Haxe 3.2
Remove ufront.util package, it wasn't really relevant.

That can be implemented in another library or on a per-app basis.
Remove Dispatch.hx, changes merged into std