Add convenient builder method for Optional

This adds convenient builder method Builder.value(TypeOfOptionalValue) for the Guava Optional type as well as a default value of absent.

JSON integration works with the jackson api using the guava module in com.fasterxml.jackson.datatype:jackson-datatype-guava:2.4.0 (also needs setSerializationInclusion(Include.NON_NULL) to avoid writing null values), couldn't get gson to work without changing the generated code.