Moderately large refactor of Shanty classes

Some convenience methods on STYMessage added to prevent proliferation of
creation methods. Added “defaultControlData” method to help regulate
control data.

Cleaned up delegates so that there are more points to override behavior.

Added a service discoverer delegate.
More UI work.