Fixes#2674 .
The TimeValue function has a few issues, which are fixed by this change:
- Better validation (so that calls such as `TimeValue("1")` fail, as it
does in Excel
- Support for AM/PM designators (`TimeValue("6:00 PM")`), as it is
supported in Excel
- Support for wrapping hours (`Value(TimeValue("27:00:00")) =
Value(TimeValue("3:00:00"))`), as it is done in Excel
* Remove `AllowParseAsTypeLiteral, AllowTypeLiteral` parser flag.
* AsType, IsType and ParseJSON overloads are part of Builtin Functions
* Add constant for Type Keyword.
* Add type arg functions to Built-in
* Refactor test