Ensure registration controller block yields happen on failure in addition to success and closes #2936.

Now with 100% more unit tests.
Upgrade stray legacy hash syntax to 1.9 syntax.
Merge pull request #2937 from dpehrson/registrations-controller-failure-yield

Ensure registration controller block yields happen on failure in addition to success