Disable WonderBrush until repackaged
Create /boot/apps and /boot/preferences symlinks
Create a generalized version of BFS's query code

The new version is templatized over a QueryPolicy which provides the
interface to the file system specifics.
Add TwoKeyAVLTree to kernel utils

This is a tree implementation with elements with primary and secondary
key. The code is a cleaned up version of ramfs's implementation. ramfs
doesn't use this version yet.
Add a global node listener mechanism
Add Index base class and index table in Volume
Add NameIndex class and create instance in Volume
Add Query class and query management in Volume
Implement query FS hooks, add empty index FS hooks
Automatic whitespace cleanup
Cleanup
AVLTree: Add Previous()/Next()
AVLTreeMap/TwoKeyAVLTree: More access to nodes

both:
* Add Previous()/Next().
* Add Insert() version that returns a Node* instead of an Iterator.
* Add Remove() version that takes a Node* instead of a key.

TwoKeyAVLTree:
* Add GetIterator() version that takes an additional Node*, i.e.
  initializing an iterator to point to the node.
* Add Iterator::CurrentNode().
QueryParser: Explicitly suspend/resume iterators

Extended policy by IndexIteratorSuspend() and IndexIteratorResume()
methods that are invoked for the index iterator by Query::GetNextEntry()
after entering respectively before exiting.
Fix NameIndexPrimaryKeyCompare

It was actually returning whether the names where not equal.
Simplify [Abstract]IndexIterator interface

* Remove Current() and Previous() and add a HasNext() instead.
* Reimplement NameIndexIterator. It directly works with tree nodes
  instead of using an iterator, now.
Name::Index(): Fix initialization order

Add the node listener directly after calling the base class Init().
Otherwise, on error, the we could try to remove the listener although it
wasn't added in the first place.
~NameIndex(): Make more robust

Remove the listener only, if it was registered.
PackageLinkSymlink: Init fLinkPath in constructor
NodeListener::NodeChanged(): Provide old value

* Add interface OldNodeAttributes an instance of which is passed to
  NodeListener::NodeChanged() to provide the old attribute values
  (currently only modification time and file size).
* Also extend PackageLinksListener::PackageLinkNodeChanged() with a
  OldNodeAttributes parameter.
* Add OldNodeAttributes implementations for PackageLinkSymlink (inner
  class OldAttributes) and UnpackingNode (OldUnpackageNodeAttributes).