Fix @ApiModelProperty handling (Fixes at least #374 and #364)

This PR changes ApiModelProperty annotation handling so that an application of the annotation to a property method will cover the entire property.

Currently, ApiModelPropery annotations are only considered in a compatible serialization direction (getters for method return values, setters for method paraters). This can cause two different BeanModelProperty objects for the same model class in some cases.  This, coupled with non-deterministic map entry iteration during map.putAll can cause the behavior described in #364.