(TWILL-107) Payloads for discoverables

This adds the ability to have payloads for ``Discoverable``s. 
May not always make sense to treat the payload as a UTF-8 encoded string. Also may not want to include payload in `toString()`.