Better support for Options and Containers

Changes to address Issue #751 (#751).

For an Option or a supported container (i.e., List, Set, Array), use the dataType property in the ApiModelProperty annotation as a hint of the boxed type that is lost to erasure.

Example annotation format:
@(ApiModelProperty @field)(value = "Integers in a Sequence Box", dataType = "List[int]") intSeq: Seq[Int]
@(ApiModelProperty @field)(value = "Integer in an Option Box", dataType = "int") intOpt: Option[Int]