title: @JsonTypeInfo property ignored during POJO deserialization
body: <p>I'm using @JsonTypeInfo to instruct Jackson 2.1.0 to look in the 'discriminator' property for concrete type information. This works well but discriminator property is no set into POJO during deserialization.</p>
  
  <p>According to Jackon's Javadoc (com.fasterxml.jackson.annotation.JsonTypeInfo.Id), it should : </p>
  
  <pre><code>/**
   * Property names used when type inclusion method ({@link As#PROPERTY}) is used
   * (or possibly when using type metadata of type {@link Id#CUSTOM}).
   * If POJO itself has a property with same name, value of property
   * will be set with type id metadata: if no such property exists, type id
   * is only used for determining actual type.
   *&lt;p&gt;
   * Default property name used if this property is not explicitly defined
   * (or is set to empty String) is based on
   * type metadata type ({@link #use}) used.
   */
  public String property() default "";
  </code></pre>
  
  <p>Here is a failling test</p>
  
  <pre><code> @Test
  public void shouldDeserializeDiscriminator() throws IOException {
  
      ObjectMapper mapper = new ObjectMapper();
      Dog dog = mapper.reader(Dog.class).readValue("{ \"name\":\"hunter\", \"discriminator\":\"B\"}");
  
      assertThat(dog).isInstanceOf(Beagle.class);
      assertThat(dog.name).isEqualTo("hunter");
      assertThat(dog.discriminator).isEqualTo("B"); //FAILS
  }
  
  @JsonTypeInfo(
          use = JsonTypeInfo.Id.NAME,
          include = JsonTypeInfo.As.PROPERTY,
          property = "discriminator")
  @JsonSubTypes({
          @JsonSubTypes.Type(value = Beagle.class, name = "B"),
          @JsonSubTypes.Type(value = Loulou.class, name = "L")
  })
  private static abstract class Dog {
      @JsonProperty("name")
      String name;
      @JsonProperty("discriminator")
      String discriminator;
  }
  
  private static class Beagle extends Dog {
  }
  
  private static class Loulou extends Dog {
  }
  </code></pre>
  
  <p>Any ideas ?</p>