Fix treatment of external URLs in Assets lib

Primarily fixed handling of protocol-relative URLs in
Assets::external_js(), which were only partially supported by
56fe451eb14f2fd9618230c7217a7ea1e0e24c88

While the above commit added support to Assets::external_js(),
Assets::find_files() didn't support protocol-relative URLs properly,
and, since files and URLs added with external_js() were eventually
passed to find_files()...

Additionally, if an http URL was passed to one of the js or css methods
when the site used https (which likely isn't good and may generate
warnings in the browser), find_files() would treat the URL as a file
path and attempt to find the file in the various asset paths (which is
probably worse than a few warnings).

Further, files that happened to have http (or https if that is the
protocol currently in use) in their name were being treated as external
URLs by find_files().