Made isEmpty more efficient.
Added a pair of threshold selection strategies for testing.
Added some constructors and shuffled things around for clarity.
Started adding tests (and fixing bugs!) for VPNode.