Add support for Java 8 & Guava Optional classes.

Note that Optional field mappings will need to make use of a converter (see the builtin GuavaOptionalConverter for details).