Move Type, Block and BlockCursor to SPI
Remove presto-main dependencies from Type implementations

In preparation for moving type implementations to SPI, remove all dependencies on presto-main classes and guava classes
Simplify VariableWidthBlockEncoding
Move types to spi
Replace ColumnType with Type
Add generic literal
Move Session to SPI
Add timezone and locale to session
Add all datetime data types

Add timestamp, time, date and interval types
Add timestamp with time zone and time with time zone
Add support for AT TIME ZONE