- Merge all bvhtree_from_mesh_*.*_setup_data in a single utility
- Create bvhtree_from_editmesh_setup_data
- Setup data only once in BKE_bvhtree_from_mesh_get and BKE_bvhtree_from_editmesh_get
Functional changes in BKE_bvhtree_from_mesh_get and BKE_bvhtree_from_editmesh_get:
- If a null tree is cached, don't set the data to zero. This tree is not an error and the others members can still be used.
- If a null tree is returned, don't set the data to zero. Matches the previous change.
- If a null tree is returned, do not call free_bvhtree_from_mesh or free_bvhtree_from_editmesh. They don't do anything in this case.