Move object -> primitive logic out of the coercion manager and into the cast testing function, to avoid allowing objects to be assignable to primitives directly.
Ensure anonymous class constructor works properly
Contrib test for feature literal resolution and fixes when improper number of args are passed in.
detect overflow of float and double literals
Merge remote-tracking branch 'origin/spec' into spec
IDE-1451.  Favor float over double for integer types, cuz that's what Java does
IDE-1471.  Change hierarchy scoring.
 - don't include an initial 10pt penalty.  Basically hierarchy score can overlap with primitive scoring since they are mutually exclusive, with exception of box types, but box types should favor, say Number, over a primitive param type
 - don't include the type in the hierarchy that is the same as the parameter type.  This is to keep two separate method scores comparable across multiple parameters
Merge remote-tracking branch 'upstream/spec' into spec