Move capture of profile on registration completion out from registration deep update to more logically appropriate registration update end point.

Rename userService to crsUserService (in preparation for introducing UserService)

Add HtmlHelper class.

Add CompleteRegistrationProcess supporting profile capture and email notification.

Add registerUrlPath to default properties.

Call complete registration process from update registration  resource endpoint

Assign constructor parameters to private data members.

Add Registration convenience method to calculate total amount owed.

Simplify HtmlHelper

Include the total amount owed (if any) in the registration completion email notification.

Refactor by removing CompleteRegistrationProcess and replacing with NotificationProcess

Notify registrant of any outstanding balance after each partial payment.

Only notify the user of payment due if not already notified by way of registration completion notification.

Refactor method names.

Check past payments number more accurately.

Tell Jackson to ignore convenience methods on JSON serialization/deserialization

Add registrant notification on payment.

Don't fail utterly (log but don't throw exception) on message service and other non critical exceptions.

Validate URL syntax, only log on error

Write up payment receipt message.
Refactor class name, method name, signature list.

Minor wording changes to notification messages.
Refactor signature list to remove unused parameter.
Set conferenceCostsService private data from constructor parameter.

Only capture profile and populate registration from profile for logged in users.
This commit is not functionally part of this branch, but is being done here as the mods are to code already diverged enough from the master as to make a later merge possibly difficult (and this branch is already rebased with the master).

Refactor ProfileProcess and ProfileEntity. Move setting of profile from answers to profile entity.

Capture anonymous user email from registration in the user table on registration completion.

Log user id on mail message exception.

Set anonymously logged in user data from registration answers.
We will capture their email this way so that we can send email notifications.

Only set user entity info from answers for anonymous/guest users.

Add functional test, and supporting framework, for capturing anonymous user email from registration answer.

Capture anonymous user info in ProfileProcess.

Support multiple recipients in the mail service.

Send registration notification to both user (from auth provider) and profile (from registration answers) emails.

Refactor - replace literal email with class 'table' reference.

Refactor - replace literal email with class 'table' reference.

Add property driven support to disable notifications and set recipient email.

Create registration and then update with complete registration, since complete registration is not supported on create.

Add more information to pre-populated conference table.

Correct property value.

Format the registration completion message.

Format the payment receipt message.

Commit db change on functional test.

Include test user email in initial database load, so that payment resource test will have email to recognize for sending notification.

Send payment receipt notification to all available user emails.
Send to test email when configured.

Add underline capability.

Add total due on registration (used in testing when sending payment receipt notification).

Improve payment receipt message.

Write assertions to accurately reflect state of database.

Modify conference name check as per change to conference table.

Compose notification email with or without first name.
Simplify if statement.

Capture anonymous user's profile.

Check for user profile on anonymous registration.