Merge when updating submodules on make
When running make, the submodule update will remove all local changes.
Adding flag --rebase or --merge does solve the issue. rebase will
probably make it cleaner, but it might stop on conflict, thus --merge
will result in fewer (probably none).

Fixes #8509. Makes URL regexp less overzealous and ensures it recognizes URL schemes which do not contain a conformant hierarchical structure ( as per section 2.1.2 of http://www.ietf.org/rfc/rfc2718.txt ). Also adds about: and adobe air's app: and app-storage: to the list of local protocols and provides a failover in case document.location is illformed. Unit test added.