Add support for dynamic selection of per-node query processor data.

Update libprox to a new version that allows the type of per-node RTree
data to be extensible and specified through template
parameters. Adjust the QueryHandlerFactory to take an additional
parameter to select the type of per-node data, making this a dynamic
selection. Also update all allocations of query processors to work
through the factory, necessitating the addition of a version for
manual query handlers. Update all calls to the factory, adding options
to control the type of data used; default to maxsize, as the
compile-time settings already did.
Make QueryHandlerFactories extensible.

Move QueryHandlerFactory into libpintoloc, which is now a more
appropriate location. Change the implementation of the factories to
allow registration, provide defaults, and work through classes for
each type of query handler and templated on the
SimulationTraits. These classes aren't singletons because getting them
to work across multiple libraries and binaries with different export
constraints (e.g. ServerProxSimulationTraits is only used in the pinto
binary whereas ObjectProxSimulationTraits is used from multiple
libraries) is seemingly impossible. Instead, for each SimulationTraits
type, one singleton object is maintained. For
ObjectProxSimulationTraits it is maintained and exported by
libpintoloc, for ServerProxSimulationTraits it is maintained by the
pinto binary.