Avoid throwing exception when parsing URL in Location constructor (rebased onto develop)



This is the same as gh-683 but rebased onto develop.

----

The constructor of a Location class is checking if the path is URL. This is done by try / catch block and calling an URL constructor. If the exception is being thrown, that this is the most time-consuming part of the constructor.

This can be avoided by doing a simple check if the path contains "://", which is one of the things that URL checks. In this case no exception is thrown if the path is a simple file.