VOL-54: basic profile selection functionality - needs work, but works
VOL-54: major work to get management of Sign-Up form profile configuration working.
TODO: fix dedupe validation
VOL-54: fix dedupe check and typo on form ID
debugging; problem remains in usage of project-ids, event-ids, entity-form-ids; needs work.
VOL-54: Code cleanup. Removed unused and redundant code.
VOL-54: Removed participant-related profiles from the profile selection widget's "allowed" list.
VOL-54: Simplified new profile markup. Rewrote show/hide logic to catch some edge cases.
VOL-54: Added back in Volunteer Activity fields (role, need).
VOL-54: Removed hardcoded "Additional Notes" field from sign-up form.
VOL-54: Refactored $this->getProfileIDs(), using uf_join directly instead of by way of multiform.
VOL-54: Refactored buildCustom() method. Relies on getProfileIDs instead of taking arguments.
VOL-54: Replaced a bunch of redundant code by adding private property $_project.
VOL-54: Small improvement to API call for getting the current domain.
VOL-54: Refactored getProfileIDs() method, using uf_join directly instead of by way of multiform, and caching results in a property.
VOL-54: Moved responsibility of building profile widgets from setDefaults() method to preProcess() method, relying on getProfileIDs() instead of multiform. Behavior change of note: uf_joins are no longer created automatically on loading the form if the project has no profiles set (instead a widget form element is prepopulated with CiviVolunteer's reserved profile).
VOL-54: Encapsulated post-processing code related to profile selection in saveProfileSelections() method, working with uf_join directly rather than by way of multiform.
VOL-54: Adapt postProcess to handle multiple profiles instead of just one.
Merge pull request #230 from GinkgoFJG/ginkgomzd-VOL-54

Rework of #227 (VOL-54)