Ensure that `user` fields exist before setting them.

Follow-up to 4acfc5c6f
Use 'protocol' property to detect javascript: URLs.

This strategy works in Safari 4, unlike what we were doing previously.
organization pass on history
History tweaks
partial fix to ui reactive attributes style diffing test

It's failing in IE10, maybe other IEs also
Remove forgotten debugging argument
Fix test expectations
fix merge
Use $.trim in StyleHandler when String.trim isn't available.

(Safari 4)