(TWILL-107) Payloads for discoverables

This adds the ability to have payloads for ``Discoverable``s. 
Also, should `equals` and `hashCode` just be implemented in `PayloadDiscoverable`?