Fixed a bug where schema equality was failing due to us only checking that sub-field
types were the same, not checking equality of the actual schemas of those
types. This was causing issues where adding a subfield schema migration
would fail. Now, we do schema equality using a method that ignores certain
types of properties on schemas, like the java.string property.

A test case was added to validate that subfield schema migrations will
work.