Add Option, Option.Spec

Add Option, Option.Spec
Add OptionExtensions, OptionExtensions.Spec