bridge: Fix use of 0 instead of NULL

Although correct, this is confusing when reading code.

Closes #1422
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell, base: Implement cockpit.location in base package

Move the hash tracking and setting API to a new cockpit.location
API in the base module.

Also, move the old cockpit.location temporarily out of the way.

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Made the API a lot like window.location
 * Handle relative paths and dots in paths
 * Use window.onhashchanged for events
 * Use location.go() for delayed change logic
 * Task switching will happen in another API

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Use new API for hash tracking and setting

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Updated for cockpit.location API
base: Remove debugging output.

Closes #1417
test: Properly wait until iframe is loaded before switching to it.

Reviewed-by: Stef Walter <stefw@redhat.com>
shell: Load external pages from target host

Closes #1371
Closes #1420

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Changed to use new cockpit.location API