(PUP-3331) Provide auto* relationships for types

This patch adds the ability to create all types of auto* relationships
for custom types.

Supported:
* Autorequires
* Autonotifies
* Autobefore
* Autosubscribes

Notify and subscribe work properly as designed and can notify services,
execs, etc...
relationship