Fixed StackOverflow exception in Attribute.GetHashCode()

MS implementation of Attribute.GetHashCode does not depend on TypeId property you can return any value in TypeId and hashcode in MS.NET will be same all the time. HashCode for Attribute in MS.NET depends on Type and attribute field values so mono implementation changed to be depended on such parameters.