libcore: Added PathRef utility class

Similar to QStringRef, references a portion of an existing Path.
Refactor|libcore|FS: Added a Node base class for files

filesys::Node is the base class for File. It stores the most basic
members: name and parent. It also has overridable logic for following
a path from a node.

This is only a minimal file system node class; at some point in the
future, the management of child nodes could be moved here from Folder.
libcore|FS: Added LinkFile for symbolic links

LinkFile has a target file and allows paths to be navigated in
relation to the target, for symbolic links to folders.
Refactor|libcore: Renamed PackageFolder => ArchiveFolder

A more apt name for this class, as it is basically just a folder with
an ArchiveFeed. Packages might reside in other kinds of files as well,
so it does not make sense to tie that functionality solely to
PackageFolder.
Cleanup
libcore: Minor improvements

String has a constructor for wide char arrays, and Version can parse
numbers with less than three components.
libcore|FS: Added Package, PackageLoader, PackageFeed

PackageLoader is responsible for knowing which packages are available
and loaded. PackageFeed links the loaded packages under a folder.
Package represents a loaded package.
Fixed|SettingsRegister: Benign compiler warnings in release build

Unused variables.
Fixed|OS X|libgui: Potential hang while drawing text

One should only lock the CoreText font cache for as short time as
possible. Making a log entry while the cache was locked was unwise
because a flush might be triggered, causing text drawing operations
that need font information.
Scripting|libcore: Parsing ScriptedInfo into an existing namespace
Fixed|libcore|FS: Following a path that ends with "." or ".."
libcore|FS: Improved FS finding API and Package loading

FileSystem now has methods for finding multiple types of files and
a method that accepts a custom predicate for excluding matches.

Package metadata is now parsed and stored into its File's info record.
Metadata may come from two places: a file named "Info" at the root
of the package, or the "__init__.de" script.

Packages are now required to specify a title, version number, license,
and tags in their metadata.

Fixed PackageFeed to not attempt duplicate links.

PackageLoader allows packages to be loaded from plain folders or
zipped folders, if they use the ".pack" file extension.
libcore|PackageFeed: Links to loaded packages use the package identifier

Don't link with the full name containing an extension. It's better to
be agnostic of the actual format that is implied by the extension.
libappfw|Client: Access UI style and renderer assets using PackageLoader

Doomsday 2 built-in assets are now loaded as packages. Required
metadata was added to defaultstyle.pack, renderer.pack, and
lensflares.pack.
Resources|Client|libcore: Renamed built-in packages hierarchically

PackageLoader now knows how to look up packages even though they are
broken down into multiple subfolders.
Cleanup|libcore: Removed the thisPublic member of de::Private

Having an extra member everywhere just to provide a convenient pointer
doesn't really justify the overhead, however small it might be.
UI|Font|Default Style: Apply "separator.label" font in appropriate places

The "separator.label" font is supposed to be used for all label-type
separators. This font is now applied in the settings dialogs as well
as the popup menus.

Fonts can now have a transformation that forces the text to all
upper/lowercase.
Cleanup
Refactor: Unified method for getting a singleton instance

The method for getting a singleton instance of a class is now simply
called "get()". This is much cleaner than, say,
"WindowSystem::appWindowSystem()".
Refactor|libcore: ArrayValue based on QList

QList can be used for popping values efficiently from both front
and back.