[Fixes #615] Minimal fix for our use case, with test:
Mapper.isCompatibleForOperator should return true if the value being
queried is an instance of the mapped type of the field.  Previous
logic was swapped.
[#615] Mapper.isCompatibleForOperator: Fix for $size of ArrayList field
[#615] Mapper.isCompatibleForOperator: Fix for subclasses of Key
(Seems unlikely in practice; fixing for completeness.)
Fix Intellij "suspicious call" warnings in Mapper.isCompatibleForOperator
Workaround compilation failure on Java 6 by removing some unnecessary
parentheses.  I don't understand why this makes a difference; possibly a
compiler bug?  Compilation error message was "illegal start of expression"
pointing to the '<' in 'Arrays.<Type>asList'
Fix checkstyle failure by replacing curly quote with apostrophe in
JavaDoc.  (checkstyle reports line is too long; seems to count the
curly quote as two characters.)
Merge fix for #615 from https://github.com/jbyler/morphia

Conflicts:
	morphia/src/main/java/org/mongodb/morphia/mapping/Mapper.java
[Issue 615] Updated QueryForSubtypeTest to use assertThat, and simplified the tests, although they do the same things.