added in memory caching of tree
Merge branch 'master' into caching

Conflicts:
	setup.py
	tests/test_functional.py
merge leftover
merge leftover