[Refactoring] Changes for code review: Mostly changing ArrayList to List & renaming tests
[Refactoring] Simplified DoubleTypeValidator so lists aren't created all over the place.
[Refactoring] Code review: integer/long validation was confusing and also wrong, so split out the LongTypeValidator from the IntegerTypeValidator to represent the fact that those two types support two different value types.  Updated tests to show this.
[Refactoring] Changed SizeOperationValidator to allow any numeric value, not just integers; replaced somewhat under-used (i.e. pointless) "isA" helper method with an "isAClassOrSubclassOf" method which is more useful in terms of validation.
[Refactoring] Marking cases that have been fixed by moving validation into individual validators
Validation - found some edge cases where behaviour had changed with the updated validation, and correct the validators and the tests for these.