treat String like a primitive Number, if possible

- if no Converter<String, Object> exists, look for Converter<Number,
  Object> and try to perform a conversion on that.

Issue: SPR-11060
refactor test class

- turn enum getter method into a factory method - allows for simple
  equality checks
- change TestEnum to have a single field instead of multiple redundant
  fields

Issue: SPR-11060
refactor object conversion tests to Template test

- build an enum capturing all test cases
- have validConversionTest grab values from enum
- declare TestConverter static so it can be used in TestCase enum

Issue: SPR-11060
convert as Number, then fall back to String

- conversion fails if there are multiple Converters available for a pair,
  especially if there are multiple converters for a target type.
  - (example String->Enum, Integer->? extends Enum)

Issue: SPR-11060
change copyright year in license header

Issue: SPR-11060
Merge branch 'SPR-11060' of https://github.com/mouyang/spring-framework into SPR-11060

Conflicts:
	spring-beans/src/test/java/org/springframework/beans/NumberToObjectConversionTests.java