Add some debugging commands to libprox Proximity implementations.

Update libprox to version that has node iterators. Add command
registration for listing handlers, forcing tree rebuilds, and listing
nodes in each handler to LibproxProximityBase. Add implementations for
those commands to the Manual and regular implementations. Basic
properties about each handler and node are reported with their
names/IDs. For Manual, we don't currently handle rebuilds, so it
always triggers an error.
Add Commander reporting of properties, settings and state of Proximity implementations.

Add a command which gets basic properties of the Proximity
implementation and a bit of information about its current state. This
is useful for getting an overview of the current state of the query
processor. This includes the type of query processor, settings like
whether it splits static/dynamic, and state like the number of objects
and queries being tracked and the outstanding result message queue
size.
Add listing of all commands.

Add a command, handled by the Commander base class itself, which lists
all registered commands. Place it under the namespace 'meta' so we
don't start filling up the top-level namespace with meta-commands.
Remove FindPROX.cmake and use ADD_SUBDIRECTORY() instead.

Use libprox as a direct dependency through CMake rather than treating
it like an external library we need to search for. Pass in settings to
turn off the proxsim binaries and ensure we use the maximum size
setting for RTrees. Extract the include directories and extra
definitions to make sure we setup the buld to match the configuration
of libprox.
Added methods to simpleInput to allow scripter to clear the input
request programmatically instead of waiting for user input.
Merge remote-tracking branch 'origin/master' into system-tests
Refactor process tracking code into a ProcSet class for running a set of processes. Use this in the CSVTest class.
Make the tests run the space server as well as the object host.
Run space server on a random port to avoid conflicts with default port.
Improve waiting time for procsets by allowing only some processes to be waited on. When those exit, the sighup on the rest can be sent immediately instead of waiting for the timeout.
Don't chdir in system tests, just specify full path to binaries.
Move cxxtest unit tests under test/unit/ to make space for system tests.
Reorganize test classes and improve registration.

Reorganize test classes into a better directory structure under the
test/ directory. Get paths working using this layout, which requires
some different settings for the JS plugin since the Emerson test
scripts are no longer under the regular scripts directory.

Also make tests found automatically by searching for leaf subclasses
of SingleTest. To make this work, have the tests directory
automatically import all scripts within it so the modules are all
available to the search.
Add dependencies for tests so we can enforce some ordering.

Add an 'after' class variable to tests, empty by default. This allows
you to ensure tests will be ordered so simpler tests can preceed more
complicated ones (e.g. a timer test preceeds a test which uses the
timer functionality in a more complicated test). Have the test runner
sort out the ordering when it collects all the tests.
Merge TestRunner and TestManager and simplify.

Merge the TestRunner and TestManager classes into a single Manager
class, moving it out of pyTests as that module isn't really
necessary. The new class takes care of searching for tests, dealing
with dependencies, and running them. Also simplify by consolidating
things into one add() method and one run() method that can handle
different cases.
Reorganize and consolidate test framework classes.

This mostly focuses on getting rid of errorConditions and pyTests
directories/modules since they don't contain that much. A few things
got consolidated into a single set of files (errors) and others just
got moved around to cleanup and simplify the layout.
Make test names default to the class name.

This is a sane choice in most cases and avoids having to repeat
yourself by specifing the name as a string as well. The name can be
overridden by setting _name as a test class variable.
Better naming for emerson tests.
Report time for each test so long running tests can be easily spotted.
Track and print elapsed time for entire test suite.