Proper handling of null values

When optional value is empty phantom insert 'nulls'. However when it reads value back in case of primitive types (int, boolean) it will end up with Some('default primitive value in JVM'). For OptionalIntColumn it will be Some(0), for OptionalBooleanColumn it will be Some(false), etc. For non-primitive types (string for example) it reads Some(null).