Refactor and DRY out registration

This makes it easier to extend registration without having to duplicate
all of the code again
Revert only showing elements with content in them, Fixes #757

43c12d237e attempted to only show elements when there was content in them,
which broke the UI in several other interesting ways.

Instead we will handle this in CSS with :empty, which is why all error
elements have carefully had spaces removed from them.
Merge pull request #760 from maurizi/fix/757/inlineEditHideShow

Revert only showing elements with content in them, Fixes #757
Added function decorator to automatically create instance user if allowed
Gate off UI buttons if the user cannot be promoted to an instance user
Merge pull request #758 from maurizi/topic/autoCreateInstanceUser

Auto create instance user
Fix broken build
Merge pull request #761 from maurizi/topic/autoCreateInstanceUser

Fix broken build
Remove stray endwith tag

Caused template errors that failed unit tests.
Fix null ref error in get_effective_instance_user

The function was assuming that the argument was not None.
Merge pull request #759 from ahinz/topic/updates-to-reg

Topic/updates to reg
Provide extension mechanism for UI tests
Bacon utils for Leaflet

* Rename wrapOnEvent() as leafletEventStream()
* Add leafletSingleClickEventStream()
* Add settings.DOUBLE_CLICK_INTERVAL and config.doubleClickInterval
Fixes #750, font-size issues
Use :empty to fix error message display
Fix broken UI tests
Make 'Tree Key' open in new tab

fixes #726 on github.
Merge pull request #765 from steventlamb/bug/726/tree_key_target_blank

Make 'Tree Key' open in new tab
Add tooltip to Additional Trunk '+' button

addresses #691 on github.

may or may not be a complete fix.
Add :empty on text-error inline form messages