Separates the act of creating a TestNode object from starting the node. The test_framework now keeps track of its list of TestNodes, and test writers can call start_node() and stop_node() without having to update the self.nodes list.
This commit changes the individual test scripts to call the start_node(s) and stop_node(s) methods in BitcoinTestFramework.