BUG: modified ClusterNode.pre_order() for non-root nodes.

Fixes gh-2177 by replacing the boolean vectors with sets.
TST: add test for subtree pre_order in cluster.hierarchy.

Tests that ``pre_order`` method works for subtree of ClusterNode root.
MAINT: minor PEP8, test docstring cleanup for previous test_hierarchy commit.
Merge branch 'pr/3394' into master.  Closes gh-2177.

See https://github.com/scipy/scipy/pull/3394