Renderer|Shard: Cleanup
Refactor|World|SectorCluster: Renamed SectorCluster-internal BoundaryInfo as BoundaryData

The term "Info" has an established meaning in libdeng2.
Renderer|SectorCluster|Shard: Improving SoC between SectorCluster/Shard

Shard is no longer aware of which map element it was generated for.
SectorCluster provides a mechanism for looking up it's Shards by
their unique identifiers. Revised mechanism for updating Shard's
bias lighting contributions. Cleaned up various APIs.

Todo: The internal management of Shards in SectorCluster should now
be revised to simplify bookkeeping. Perhaps an automatically unique
Shard Id might be useful?
Typo in previous commit (renamed in recent refactoring)
Refactor|World|BspLeaf: Extracted ConvexSubspace from BspLeaf

To avoid collision and name overloading, the BSP builder's component
of the same name was renamed as ConvexSubspaceProxy. In the future
much of this functionality can and should be relocated.

Todo:
- Determine whether the Polyobj link set can be moved
- SectorCluster should now be a set of ConvexSubspaces
- ConvexSubspace should be a DMU object (takes BspLeaf's place)
- Cleanup/update API docs
Refactor|World|BspLeaf|ConvexSubspace: Moved Polyobj link set from BspLeaf to ConvexSubspace
Refactor|World|SectorCluster: SectorCluster is a set of (one or more) ConvexSubspace
Server: Updated server.pro to include the new sources
Renderer: Current ConvexSubspace is now a draw state variable

Previously a BspLeaf. (It is now impossible to attempt drawing with
a degenerate BSP leaf).
Renderer: Switched various APIs to work with ConvexSubspace
Renderer: ContactSpreader and VLight APIs use ConvexSubspace
Renderer: Cleanup
World|Map: Use a ConvexSubspace Blockmap (was BspLeaf)
World: Link Faces in the half-edge DS to ConvexSubspace

Rather than linking to BspLeaf, we can now set this up with a more
logical scheme with Faces linking to ConvexSubspace, which, is now
a preliminary DMU_SUBSPACE MapElement.
World|BspLeaf: Cleanup, updated API docs
Map API: BspLeaf replaced with ConvexSubspace

ConvexSubspace replaces BspLeaf as the public representation for a
convex subspace in the BSP tree. BspLeaf and BspNode are no longer
addressable via the Map API (DMU).

ConvexSubspaces are now owned by de::map rather than BspLeaf, and
no longer provides public access to the old BSP map element LUTs
(which are now only used to ensure allocations are released when
the map is unloaded).

The Map API version was bumped to ver 4.
World|BspLeaf: Simplified BspLeaf (no need for pimpl here)
Refactor|World: Began BSP tree remodeling

The first step is to eliminate MapElement as a common base.
World: Reimplemented BSP tree with de::BinaryTree

de::Map now takes ownership of what was Partitioner's internal tree
for use as the final BSP tree, rather than claiming each map element
individually.

Todo: Cleanup
World|BspLeaf|BspNode: Base BspLeaf and BspNode on BspElement