Support for Jackson field-renames-getter heuristic

Jackson supports the following behaviour:
    
    public class Foo {
        @JsonProperty("renamed") private String foo;
        public String getFoo() { return foo; }    
    }

When rendering JSON with Jackson, the `getFoo` method will correctly be interpreted as belonging to the marshalled "renamed" property.

Although support for `@JsonProperty` and `@JsonIgnore` were added in #321, the model parser was not respecting renames found at the field level after inspecting a corresponding public getter method. This patch is a fix. 

Apologies if any of the code is horribly naive - totally open to receiving feedback and making this PR better.