Analyze Scripts not in a Gem

Currently we only analyze scripts that are part of gems. This PR adds code to the scanner that puts all loose scripts in their own source unit.
For the name, you can use `"."` instead of repeating rubyprogram. That will make the URL a bit shorter and less repetitive.