(PUP-4008) Consider empty hash assignable to any Hash with size 0
This commit adds the method 'is_the_empty_hash?' to the PHashType.
It responds true when both the key and value types are PNilType and
the size_type is 0,0. This method is then called by the
TypeCalculator.assignable_PHashType when the first parameter accepts
a hash type of size zero.