added test case for insert
merged Davids get_child and get_path test cases and adapted them a little
renamed methods removeRange and insertRange into remove_range and insert_range
get_child() now throws an exception when trying to access a non-existing node and passes the tests. The get_path() test does no longer require get_path to throw an exception on a node without a parent and instead expects [] as the result.
added nodes_to_range() method and the corresponding test case
fixed bug in select_first and added a couple more tests
Merge branch 'master' into david-develop
get_leaf_nodes, get_by_value, get_by_id tests completed