Fixed missing method bug caused by hash collisions.

The hashCode methods used by MethodInfo and FieldInfo just used the
signature field to generate a hashCode. The signature field is only
available when the method/field involves generic types and was
otherwise set to the method/field name. Therefore, when there were
no generics and overloaded method names, only one would be stored.
Also, in cases where generics are used, multiple methods could have
the same signature (as the method name is not included).

Solution is to use the method name plus the method descriptor, which
should be unique. Also changed signature to be the empty string by
default instead of the method/field name.
Small edit to 1.0.2 release notes