Packages scanned can be loaded from anywhere.

This change allows the ".smcpkg" to be located anywhere under the packages directory.  In order for a package to be parsed, it must contain the package.xml file, and that file must have a "name" setting that identifies the name of the package.  The ".smcpkg" can be located in different locations in the user and game data directories, as long as that name matches.  If a package exists in the user data but not the game data or the opposite the missing directory is build from the one found.

This is intended to solve the following problem:

If a package is made available online, the download of the package file contains only the file name but not the directory, so the package name currently depends on where the user places it.  This may be fine for a package that is not used by another package.  However, if one package uses another, but the user places that dependent package in the wrong place, it will not be found correctly.  By allowing the package to identify itself regardless of where the user places it, this doesn't happen.